Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы AVFoundation ссылка класса AVCaptureSession

Опции
Развертывание Target:

На этой странице
Язык:

AVCaptureSession

Вы используете AVCaptureSession возразите для координирования потока данных от устройств ввода данных AV до выводов.

Для выполнения или оффлайнового получения в реальном времени Вы инстанцируете AVCaptureSession возразите и добавьте надлежащие вводы (такой как AVCaptureDeviceInput), и выводы (такой как AVCaptureMovieFileOutput). Следующий фрагмент кода иллюстрирует, как сконфигурировать устройство захвата изображения для записи аудио:

  • AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];
  • AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
  • NSError *error = nil;
  • AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error];
  • if (audioInput) {
  • [captureSession addInput:audioInput];
  • }
  • else {
  • // Handle the failure.
  • }

Вы вызываете startRunning запустить поток данных от вводов до выводов и вызвать stopRunning остановить поток.

Вы используете sessionPreset свойство для настройки уровня качества, скорости передачи или других настроек для вывода. Наиболее распространенные конфигурации получения доступны посредством предварительных установок сеанса; однако, некоторые специализированные опции (такие как высокая частота кадров) требуют непосредственно установки формата получения на AVCaptureDevice экземпляр.

Наследование


Соответствует


Оператор импорта


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в OS X v10.7 и позже.
  • вводы вводы Свойство

    Вводы сеанса получения. (только для чтения)

    Объявление

    Swift

    var inputs: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *inputs

    Обсуждение

    Массив содержит экземпляры подклассов AVCaptureInput.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее, может ли данный ввод быть добавлен к сеансу.

    Объявление

    Swift

    func canAddInput(_ input: AVCaptureInput!) -> Bool

    Objective C

    - (BOOL)canAddInput:(AVCaptureInput *)input

    Параметры

    input

    Ввод, который Вы хотите добавить к сеансу.

    Возвращаемое значение

    YEStrue если input может быть добавлен к сеансу, иначе NOfalse.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addInput:

  • Добавляет данный ввод к сеансу.

    Объявление

    Swift

    func addInput(_ input: AVCaptureInput!)

    Objective C

    - (void)addInput:(AVCaptureInput *)input

    Параметры

    input

    Ввод для добавления к сеансу.

    Обсуждение

    Можно только добавить ввод к сеансу с помощью этого метода если canAddInput: возвраты YEStrue.

    В то время как сеанс работает, можно вызвать этот метод.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Удаляет данный ввод.

    Объявление

    Swift

    func removeInput(_ input: AVCaptureInput!)

    Objective C

    - (void)removeInput:(AVCaptureInput *)input

    Параметры

    input

    Ввод для удаления из получателя.

    Обсуждение

    В то время как сеанс работает, можно вызвать этот метод.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addInput:

  • выводы выводы Свойство

    Выводы сеанса получения. (только для чтения)

    Объявление

    Swift

    var outputs: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *outputs

    Обсуждение

    Массив содержит экземпляры подклассов AVCaptureOutput.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее, может ли данный вывод быть добавлен к сеансу.

    Объявление

    Swift

    func canAddOutput(_ output: AVCaptureOutput!) -> Bool

    Objective C

    - (BOOL)canAddOutput:(AVCaptureOutput *)output

    Параметры

    output

    Вывод, который Вы хотите добавить к сеансу.

    Возвращаемое значение

    YEStrue если output может быть добавлен к сеансу, иначе NOfalse.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addOutput:

  • Добавляет данный вывод к сеансу.

    Объявление

    Swift

    func addOutput(_ output: AVCaptureOutput!)

    Objective C

    - (void)addOutput:(AVCaptureOutput *)output

    Параметры

    output

    Вывод для добавления к сеансу.

    Обсуждение

    Можно только добавить вывод к сеансу с помощью этого метода если canAddOutput: возвраты YEStrue.

    В то время как сеанс работает, можно вызвать этот метод.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Удаляет данный вывод.

    Объявление

    Swift

    func removeOutput(_ output: AVCaptureOutput!)

    Objective C

    - (void)removeOutput:(AVCaptureOutput *)output

    Параметры

    output

    Вывод для удаления из получателя.

    Обсуждение

    В то время как сеанс работает, можно вызвать этот метод.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addOutput:

  • Говорит получателю начинать работать.

    Объявление

    Swift

    func startRunning()

    Objective C

    - (void)startRunning

    Обсуждение

    Этот метод используется для запуска потока данных от вводов до выводов, подключенных с AVCaptureSession экземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель или полностью не начал работать или не удался начать работать. Если ошибка происходит во время этого процесса, и получателю не удается начать работать, Вы получаете AVCaptureSessionRuntimeErrorNotification.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – stopRunning

  • Говорит получателю прекращать работать.

    Объявление

    Swift

    func stopRunning()

    Objective C

    - (void)stopRunning

    Обсуждение

    Этот метод используется для остановки потока данных от вводов до выводов, подключенных с AVCaptureSession экземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель полностью не прекратил работать.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – startRunning

  • Указывает, работает ли получатель. (только для чтения)

    Объявление

    Swift

    var running: Bool { get }

    Objective C

    @property(nonatomic, readonly, getter=isRunning) BOOL running

    Обсуждение

    Можно наблюдать значение этого свойства с помощью наблюдения значения ключа.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Указывает запуск ряда изменений конфигурации, которые будут сделаны атомарно.

    Объявление

    Swift

    func beginConfiguration()

    Objective C

    - (void)beginConfiguration

    Обсуждение

    Вы используете beginConfiguration и commitConfiguration обрабатывать многократные операции конфигурации в пакетном режиме на рабочем сеансе в атомарное обновление.

    После вызова beginConfiguration, можно, например, добавить или удалить выводы, измениться sessionPreset, или сконфигурируйте свойства ввода или вывода получения частного лица. Никакие изменения фактически не внесены, пока Вы не вызываете commitConfiguration, в котором времени они применяются вместе.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – commitConfiguration

  • Фиксации ряд изменений конфигурации.

    Объявление

    Swift

    func commitConfiguration()

    Objective C

    - (void)commitConfiguration

    Обсуждение

    Для обсуждения посмотрите beginConfiguration.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • sessionPreset sessionPreset Свойство

    Постоянное значение, указывающее уровень качества или скорость передачи вывода.

    Объявление

    Swift

    var sessionPreset: String!

    Objective C

    @property(nonatomic, copy) NSString *sessionPreset

    Обсуждение

    Вы используете это свойство для настройки уровня качества или скорости передачи вывода. Для возможных значений sessionPreset, посмотрите Предварительные установки Видеовхода. Значение по умолчанию AVCaptureSessionPresetHigh.

    В то время как сеанс работает, можно установить это значение.

    Можно только установить предварительную установку если canSetSessionPreset: возвраты YEStrue для той предварительной установки.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее, может ли получатель использовать данную предварительную установку.

    Объявление

    Swift

    func canSetSessionPreset(_ preset: String!) -> Bool

    Objective C

    - (BOOL)canSetSessionPreset:(NSString *)preset

    Параметры

    preset

    Предварительная установка требуется установить для получателя. Для возможных значений посмотрите Предварительные установки Видеовхода.

    Возвращаемое значение

    YEStrue если получатель может использовать preset, иначе NOfalse.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Добавляет данное соединение получения с сеансом.

    Объявление

    Swift

    func addConnection(_ connection: AVCaptureConnection!)

    Objective C

    - (void)addConnection:(AVCaptureConnection *)connection

    Параметры

    connection

    Соединение получения для добавления к сеансу.

    Обсуждение

    Можно только добавить AVCaptureConnection экземпляр к сеансу с помощью этого метода, если canAddConnection: возвраты YEStrue.

    При использовании addInput: или addOutput:, соединения формируются автоматически между всеми совместимыми вводами и выводами. Вручную добавление соединений только необходимо при добавлении ввода или вывода без соединений.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее, может ли данное соединение быть добавлено к получателю.

    Объявление

    Swift

    func canAddConnection(_ connection: AVCaptureConnection!) -> Bool

    Objective C

    - (BOOL)canAddConnection:(AVCaptureConnection *)connection

    Параметры

    connection

    AVCaptureConnection экземпляр.

    Возвращаемое значение

    YEStrue если connection может быть добавлен к получателю, иначе NOfalse.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addConnection:

  • Добавляет ввод получения к сеансу, не формируя соединений.

    Объявление

    Swift

    func addInputWithNoConnections(_ input: AVCaptureInput!)

    Objective C

    - (void)addInputWithNoConnections:(AVCaptureInput *)input

    Параметры

    input

    Ввод получения для добавления к сеансу.

    Обсуждение

    В то время как сеанс работает, можно вызвать этот метод.

    Обычно необходимо использовать addInput: добавить ввод к сеансу. Вы используете этот метод при необходимости в тонкозернистом управлении, по которому вводы подключены с который выводы.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Добавляет вывод получения к сеансу, не формируя соединений.

    Объявление

    Swift

    func addOutputWithNoConnections(_ output: AVCaptureOutput!)

    Objective C

    - (void)addOutputWithNoConnections:(AVCaptureOutput *)output

    Параметры

    output

    Вывод получения для добавления к сеансу.

    Обсуждение

    В то время как сеанс работает, можно вызвать этот метод.

    Обычно необходимо использовать addOutput: добавить вывод к сеансу. Вы используете этот метод при необходимости в тонкозернистом управлении, по которому вводы подключены с который выводы.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Удаляет соединение получения из сеанса.

    Объявление

    Swift

    func removeConnection(_ connection: AVCaptureConnection!)

    Objective C

    - (void)removeConnection:(AVCaptureConnection *)connection

    Параметры

    connection

    Соединение получения для удаления из сеанса.

    Обсуждение

    В то время как сеанс работает, можно вызвать этот метод.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addConnection:

  • masterClock masterClock Свойство

    Объект часов используется для выходной синхронизации. (только для чтения)

    Объявление

    Swift

    var masterClock: CMClock! { get }

    Objective C

    @property(nonatomic, readonly) CMClockRef masterClock

    Обсуждение

    Возвращенный CMClock объект только для чтения и обеспечивает timebase для демонстрационных буферов в выводе получения. Это может использоваться в сочетании с часами от AVCaptureInputPort объект синхронизировать метки времени от многократных устройств.

    Можно наблюдать значение этого свойства с помощью наблюдения значения ключа.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.9 и позже.

  • Константы для указания ориентации устройства во время видеосъемки.

    Объявление

    Swift

    enum AVCaptureVideoOrientation : Int { case Portrait case PortraitUpsideDown case LandscapeRight case LandscapeLeft }

    Objective C

    enum { AVCaptureVideoOrientationPortrait = 1, AVCaptureVideoOrientationPortraitUpsideDown, AVCaptureVideoOrientationLandscapeLeft, AVCaptureVideoOrientationLandscapeRight, }; typedef NSInteger AVCaptureVideoOrientation;

    Константы

    • Portrait

      AVCaptureVideoOrientationPortrait

      Указывает, что видео должно быть ориентировано вертикально с кнопкой «Домой» устройства на нижней части.

      Доступный в OS X v10.7 и позже.

    • PortraitUpsideDown

      AVCaptureVideoOrientationPortraitUpsideDown

      Указывает, что видео должно быть ориентировано вертикально с кнопкой «Домой» устройства на вершине.

      Доступный в OS X v10.7 и позже.

    • LandscapeLeft

      AVCaptureVideoOrientationLandscapeLeft

      Указывает, что видео должно быть ориентировано горизонтально с кнопкой «Домой» устройства справа.

      Доступный в OS X v10.7 и позже.

    • LandscapeRight

      AVCaptureVideoOrientationLandscapeRight

      Указывает, что видео должно быть ориентировано горизонтально с кнопкой «Домой» устройства слева.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Ключ для получения информации из уведомления от сеанса получения.

    Объявление

    Swift

    let AVCaptureSessionErrorKey: NSString!

    Objective C

    NSString *const AVCaptureSessionErrorKey;

    Константы

    • AVCaptureSessionErrorKey

      AVCaptureSessionErrorKey

      Ключ для получения ошибки возражает из пользовательского информационного словаря AVCaptureSessionRuntimeErrorNotification.

      Доступный в OS X v10.7 и позже.

  • Константы для определения получения, устанавливающего предварительные установки с помощью sessionPreset свойство.

    Объявление

    Swift

    let AVCaptureSessionPresetPhoto: NSString! let AVCaptureSessionPresetHigh: NSString! let AVCaptureSessionPresetMedium: NSString! let AVCaptureSessionPresetLow: NSString! let AVCaptureSessionPreset320x240: NSString! let AVCaptureSessionPreset352x288: NSString! let AVCaptureSessionPreset640x480: NSString! let AVCaptureSessionPreset960x540: NSString! let AVCaptureSessionPreset1280x720: NSString! let AVCaptureSessionPresetiFrame960x540: NSString! let AVCaptureSessionPresetiFrame1280x720: NSString!

    Objective C

    NSString *const AVCaptureSessionPresetPhoto; NSString *const AVCaptureSessionPresetHigh; NSString *const AVCaptureSessionPresetMedium; NSString *const AVCaptureSessionPresetLow; NSString *const AVCaptureSessionPreset320x240; NSString *const AVCaptureSessionPreset352x288; NSString *const AVCaptureSessionPreset640x480; NSString *const AVCaptureSessionPreset960x540; NSString *const AVCaptureSessionPreset1280x720; NSString *const AVCaptureSessionPresetiFrame960x540; NSString *const AVCaptureSessionPresetiFrame1280x720;

    Константы

    • AVCaptureSessionPresetPhoto

      AVCaptureSessionPresetPhoto

      Указывает настройки получения, подходящие для вывода качества фотографии высокого разрешения.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPresetHigh

      AVCaptureSessionPresetHigh

      Указывает настройки получения, подходящие для высококачественного видеовыхода и аудиовыхода.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPresetMedium

      AVCaptureSessionPresetMedium

      Указывает настройки получения, подходящие для выходного видео и скоростей передачи звука, подходящих для совместного использования по WiFi.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPresetLow

      AVCaptureSessionPresetLow

      Указывает настройки получения, подходящие для выходного видео и скоростей передачи звука, подходящих для совместного использования по 3G.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPreset320x240

      AVCaptureSessionPreset320x240

      Указывает настройки получения, подходящие для видеовыхода на 320x240 пикселей.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPreset352x288

      AVCaptureSessionPreset352x288

      Указывает настройки получения, подходящие по качеству CIF (352x288 пикселей) видеовыход.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPreset640x480

      AVCaptureSessionPreset640x480

      Указывает настройки получения, подходящие по качеству VGA (640x480 пикселей) видеовыход.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPreset960x540

      AVCaptureSessionPreset960x540

      Указывает настройки получения, подходящие по четверти качество HD (960x540 пикселей) видеовыход.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPreset1280x720

      AVCaptureSessionPreset1280x720

      Указывает настройки получения, подходящие по качеству на 720 пунктов (1280x720 пикселей) видеовыход.

      Доступный в OS X v10.7 и позже.

    • AVCaptureSessionPresetiFrame960x540

      AVCaptureSessionPresetiFrame960x540

      Указывает настройки получения для достижения 960x540 качественное iFrame H.264 видео приблизительно в 30 Мбит/с с аудио AAC.

      Фильмы в формате QuickTime, полученные в формате iFrame, оптимальны для редактирования приложений.

      Доступный в OS X v10.9 и позже.

    • AVCaptureSessionPresetiFrame1280x720

      AVCaptureSessionPresetiFrame1280x720

      Указывает настройки получения для достижения 1280x720 качественное iFrame H.264 видео приблизительно в 40 Мбит/с с аудио AAC.

      Фильмы в формате QuickTime, полученные в формате iFrame, оптимальны для редактирования приложений.

      Доступный в OS X v10.9 и позже.