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!) -> BoolObjective C
- (BOOL)canAddInput:(AVCaptureInput *)inputПараметры
inputВвод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YEStrueеслиinputможет быть добавлен к сеансу, иначеNOfalse.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет данный ввод к сеансу.
Объявление
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 и позже.
См. также
-
Выводы сеанса получения. (только для чтения)
Объявление
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!) -> BoolObjective C
- (BOOL)canAddOutput:(AVCaptureOutput *)outputПараметры
outputВывод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YEStrueеслиoutputможет быть добавлен к сеансу, иначеNOfalse.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет данный вывод к сеансу.
Объявление
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 и позже.
См. также
-
Говорит получателю начинать работать.
Объявление
Swift
func startRunning()Objective C
- (void)startRunningОбсуждение
Этот метод используется для запуска потока данных от вводов до выводов, подключенных с
AVCaptureSessionэкземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель или полностью не начал работать или не удался начать работать. Если ошибка происходит во время этого процесса, и получателю не удается начать работать, Вы получаетеAVCaptureSessionRuntimeErrorNotification.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Говорит получателю прекращать работать.
Объявление
Swift
func stopRunning()Objective C
- (void)stopRunningОбсуждение
Этот метод используется для остановки потока данных от вводов до выводов, подключенных с
AVCaptureSessionэкземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель полностью не прекратил работать.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
выполнение выполнениеСвойствоУказывает, работает ли получатель. (только для чтения)
Объявление
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 и позже.
См. также
-
Фиксации ряд изменений конфигурации.
Объявление
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!) -> BoolObjective 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!) -> BoolObjective C
- (BOOL)canAddConnection:(AVCaptureConnection *)connectionПараметры
connectionAVCaptureConnectionэкземпляр.Возвращаемое значение
YEStrueеслиconnectionможет быть добавлен к получателю, иначеNOfalse.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет ввод получения к сеансу, не формируя соединений.
Объявление
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 и позже.
См. также
-
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;Константы
-
PortraitAVCaptureVideoOrientationPortraitУказывает, что видео должно быть ориентировано вертикально с кнопкой «Домой» устройства на нижней части.
Доступный в OS X v10.7 и позже.
-
PortraitUpsideDownAVCaptureVideoOrientationPortraitUpsideDownУказывает, что видео должно быть ориентировано вертикально с кнопкой «Домой» устройства на вершине.
Доступный в OS X v10.7 и позже.
-
LandscapeLeftAVCaptureVideoOrientationLandscapeLeftУказывает, что видео должно быть ориентировано горизонтально с кнопкой «Домой» устройства справа.
Доступный в OS X v10.7 и позже.
-
LandscapeRightAVCaptureVideoOrientationLandscapeRightУказывает, что видео должно быть ориентировано горизонтально с кнопкой «Домой» устройства слева.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
-
Ключ для получения информации из уведомления от сеанса получения.
Объявление
Swift
let AVCaptureSessionErrorKey: NSString!Objective C
NSString *const AVCaptureSessionErrorKey;Константы
-
AVCaptureSessionErrorKeyAVCaptureSessionErrorKeyКлюч для получения ошибки возражает из пользовательского информационного словаря
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;Константы
-
AVCaptureSessionPresetPhotoAVCaptureSessionPresetPhotoУказывает настройки получения, подходящие для вывода качества фотографии высокого разрешения.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPresetHighAVCaptureSessionPresetHighУказывает настройки получения, подходящие для высококачественного видеовыхода и аудиовыхода.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPresetMediumAVCaptureSessionPresetMediumУказывает настройки получения, подходящие для выходного видео и скоростей передачи звука, подходящих для совместного использования по WiFi.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPresetLowAVCaptureSessionPresetLowУказывает настройки получения, подходящие для выходного видео и скоростей передачи звука, подходящих для совместного использования по 3G.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPreset320x240AVCaptureSessionPreset320x240Указывает настройки получения, подходящие для видеовыхода на 320x240 пикселей.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPreset352x288AVCaptureSessionPreset352x288Указывает настройки получения, подходящие по качеству CIF (352x288 пикселей) видеовыход.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPreset640x480AVCaptureSessionPreset640x480Указывает настройки получения, подходящие по качеству VGA (640x480 пикселей) видеовыход.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPreset960x540AVCaptureSessionPreset960x540Указывает настройки получения, подходящие по четверти качество HD (960x540 пикселей) видеовыход.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPreset1280x720AVCaptureSessionPreset1280x720Указывает настройки получения, подходящие по качеству на 720 пунктов (1280x720 пикселей) видеовыход.
Доступный в OS X v10.7 и позже.
-
AVCaptureSessionPresetiFrame960x540AVCaptureSessionPresetiFrame960x540Указывает настройки получения для достижения 960x540 качественное iFrame H.264 видео приблизительно в 30 Мбит/с с аудио AAC.
Фильмы в формате QuickTime, полученные в формате iFrame, оптимальны для редактирования приложений.
Доступный в OS X v10.9 и позже.
-
AVCaptureSessionPresetiFrame1280x720AVCaptureSessionPresetiFrame1280x720Указывает настройки получения для достижения 1280x720 качественное iFrame H.264 видео приблизительно в 40 Мбит/с с аудио AAC.
Фильмы в формате QuickTime, полученные в формате iFrame, оптимальны для редактирования приложений.
Доступный в OS X v10.9 и позже.
-
-
Отправленный, если ошибка произошла во время сеанса получения.
Вы получаете базовую ошибку из пользовательского информационного словаря уведомления с помощью ключа
AVCaptureSessionErrorKey.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Отправленный, когда запускается сеанс получения.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Отправленный, когда останавливается сеанс получения.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
