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

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

Разработчик

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

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

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

AVCaptureSession

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


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


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


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в iOS 4.0 и позже.

Вы используете 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 экземпляр.

  • inputs Свойство

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

    Объявление

    Swift

    var inputs: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *inputs

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

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

    Objective C

    - (BOOL)canAddInput:(AVCaptureInput *)input

    Параметры

    input

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

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – addInput:

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

    Объявление

    Swift

    func addInput(_ input: AVCaptureInput!)

    Objective C

    - (void)addInput:(AVCaptureInput *)input

    Параметры

    input

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

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    func removeInput(_ input: AVCaptureInput!)

    Objective C

    - (void)removeInput:(AVCaptureInput *)input

    Параметры

    input

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

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – addInput:

  • outputs Свойство

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

    Объявление

    Swift

    var outputs: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *outputs

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

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

    Objective C

    - (BOOL)canAddOutput:(AVCaptureOutput *)output

    Параметры

    output

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

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – addOutput:

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

    Объявление

    Swift

    func addOutput(_ output: AVCaptureOutput!)

    Objective C

    - (void)addOutput:(AVCaptureOutput *)output

    Параметры

    output

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

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    func removeOutput(_ output: AVCaptureOutput!)

    Objective C

    - (void)removeOutput:(AVCaptureOutput *)output

    Параметры

    output

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

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – addOutput:

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

    Объявление

    Swift

    func startRunning()

    Objective C

    - (void)startRunning

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – stopRunning

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

    Объявление

    Swift

    func stopRunning()

    Objective C

    - (void)stopRunning

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – startRunning

  • running Свойство

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

    Объявление

    Swift

    var running: Bool { get }

    Objective C

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

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • interrupted Свойство

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

    Объявление

    Swift

    var interrupted: Bool { get }

    Objective C

    @property(nonatomic, readonly, getter=isInterrupted) BOOL interrupted

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    func beginConfiguration()

    Objective C

    - (void)beginConfiguration

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

    См. также

    – commitConfiguration

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

    Объявление

    Swift

    func commitConfiguration()

    Objective C

    - (void)commitConfiguration

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • sessionPreset Свойство

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

    Объявление

    Swift

    var sessionPreset: String!

    Objective C

    @property(nonatomic, copy) NSString *sessionPreset

    Обсуждение

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

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

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

    Objective C

    - (BOOL)canSetSessionPreset:(NSString *)preset

    Параметры

    preset

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

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    func addConnection(_ connection: AVCaptureConnection!)

    Objective C

    - (void)addConnection:(AVCaptureConnection *)connection

    Параметры

    connection

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

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

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

    Объявление

    Swift

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

    Objective C

    - (BOOL)canAddConnection:(AVCaptureConnection *)connection

    Параметры

    connection

    AVCaptureConnection экземпляр.

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    – addConnection:

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

    Объявление

    Swift

    func addInputWithNoConnections(_ input: AVCaptureInput!)

    Objective C

    - (void)addInputWithNoConnections:(AVCaptureInput *)input

    Параметры

    input

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

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

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

    Объявление

    Swift

    func addOutputWithNoConnections(_ output: AVCaptureOutput!)

    Objective C

    - (void)addOutputWithNoConnections:(AVCaptureOutput *)output

    Параметры

    output

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

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

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

    Объявление

    Swift

    func removeConnection(_ connection: AVCaptureConnection!)

    Objective C

    - (void)removeConnection:(AVCaptureConnection *)connection

    Параметры

    connection

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

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    – addConnection:

  • usesApplicationAudioSession Свойство

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

    Объявление

    Swift

    var usesApplicationAudioSession: Bool

    Objective C

    @property(nonatomic) BOOL usesApplicationAudioSession

    Обсуждение

    Если значение этого свойства NOfalse, сеанс получения использует частное AVAudioSession экземпляр для аудиозаписи, которая может вызвать прерывание, если Ваше приложение использует свой собственный аудио сеанс для воспроизведения.

    Для приложений, соединенных против iOS 7.0 или более новых, это свойство значения по умолчанию к YEStrue, разрешение одновременного воспроизведения и запись.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 7.0 и позже.

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

    Объявление

    Swift

    var automaticallyConfiguresApplicationAudioSession: Bool

    Objective C

    @property(nonatomic) BOOL automaticallyConfiguresApplicationAudioSession

    Обсуждение

    Это свойство только вступает в силу если значение usesApplicationAudioSession свойство YEStrue.

    Значение этого свойства значения по умолчанию к YEStrue, то, чтобы заставлять сеанс получения автоматически сконфигурировать приложение совместно использовало AVAudioSession экземпляр для оптимальной записи. Например, если сеанс получения будет использовать камеру устройства, расположенную «против движения», то микрофон аудио сеанса и диаграмма направленности будут установлены для оптимальной записи звука от того направления. Обратите внимание на то, что исходное состояние аудио сеанса не восстанавливается после того, как получение заканчивается.

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • masterClock Свойство

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

    Объявление

    Swift

    var masterClock: CMClock! { get }

    Objective C

    @property(nonatomic, readonly) CMClockRef masterClock

    Обсуждение

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 7.0 и позже.

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

    Объявление

    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

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

      Доступный в iOS 4.0 и позже.

    • PortraitUpsideDown

      AVCaptureVideoOrientationPortraitUpsideDown

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

      Доступный в iOS 4.0 и позже.

    • LandscapeLeft

      AVCaptureVideoOrientationLandscapeLeft

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

      Доступный в iOS 4.0 и позже.

    • LandscapeRight

      AVCaptureVideoOrientationLandscapeRight

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

      Доступный в iOS 4.0 и позже.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    let AVCaptureSessionErrorKey: String

    Objective C

    NSString *const AVCaptureSessionErrorKey;

    Константы

    • AVCaptureSessionErrorKey

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

      Доступный в iOS 4.0 и позже.

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

    Объявление

    Swift

    let AVCaptureSessionPresetPhoto: String let AVCaptureSessionPresetHigh: String let AVCaptureSessionPresetMedium: String let AVCaptureSessionPresetLow: String let AVCaptureSessionPreset352x288: String let AVCaptureSessionPreset640x480: String let AVCaptureSessionPreset1280x720: String let AVCaptureSessionPreset1920x1080: String let AVCaptureSessionPresetiFrame960x540: String let AVCaptureSessionPresetiFrame1280x720: String let AVCaptureSessionPresetInputPriority: String

    Objective C

    NSString *const AVCaptureSessionPresetPhoto; NSString *const AVCaptureSessionPresetHigh; NSString *const AVCaptureSessionPresetMedium; NSString *const AVCaptureSessionPresetLow; NSString *const AVCaptureSessionPreset352x288; NSString *const AVCaptureSessionPreset640x480; NSString *const AVCaptureSessionPreset1280x720; NSString *const AVCaptureSessionPreset1920x1080; NSString *const AVCaptureSessionPresetiFrame960x540; NSString *const AVCaptureSessionPresetiFrame1280x720; NSString *const AVCaptureSessionPresetInputPriority;

    Константы

    • AVCaptureSessionPresetPhoto

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPresetHigh

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPresetMedium

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPresetLow

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPreset352x288

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

      Доступный в iOS 5.0 и позже.

    • AVCaptureSessionPreset640x480

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPreset1280x720

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

      Доступный в iOS 4.0 и позже.

    • AVCaptureSessionPreset1920x1080

      Указывает настройки получения, подходящие по качеству на 1 080 пунктов (1920x1080 пикселей) видеовыход.

      Доступный в iOS 5.0 и позже.

    • AVCaptureSessionPresetiFrame960x540

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

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

      Доступный в iOS 5.0 и позже.

    • AVCaptureSessionPresetiFrame1280x720

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

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

      Доступный в iOS 5.0 и позже.

    • AVCaptureSessionPresetInputPriority

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

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

      Доступный в iOS 7.0 и позже.