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
Ввод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YES
true
еслиinput
может быть добавлен к сеансу, иначеNO
false
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет данный ввод к сеансу.
Объявление
Swift
func addInput(_
input
: AVCaptureInput!)Objective C
- (void)addInput:(AVCaptureInput *)
input
Параметры
input
Ввод для добавления к сеансу.
Обсуждение
Можно только добавить ввод к сеансу с помощью этого метода если
canAddInput:
возвратыYES
true
.В то время как сеанс работает, можно вызвать этот метод.
Оператор импорта
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
Вывод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YES
true
еслиoutput
может быть добавлен к сеансу, иначеNO
false
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет данный вывод к сеансу.
Объявление
Swift
func addOutput(_
output
: AVCaptureOutput!)Objective C
- (void)addOutput:(AVCaptureOutput *)
output
Параметры
output
Вывод для добавления к сеансу.
Обсуждение
Можно только добавить вывод к сеансу с помощью этого метода если
canAddOutput:
возвратыYES
true
.В то время как сеанс работает, можно вызвать этот метод.
Оператор импорта
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:
возвратыYES
true
для той предварительной установки.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает булево значение, указывающее, может ли получатель использовать данную предварительную установку.
Объявление
Swift
func canSetSessionPreset(_
preset
: String!) -> BoolObjective C
- (BOOL)canSetSessionPreset:(NSString *)
preset
Параметры
preset
Предварительная установка требуется установить для получателя. Для возможных значений посмотрите Предварительные установки Видеовхода.
Возвращаемое значение
YES
true
если получатель может использоватьpreset
, иначеNO
false
.Оператор импорта
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:
возвратыYES
true
.При использовании
addInput:
илиaddOutput:
, соединения формируются автоматически между всеми совместимыми вводами и выводами. Вручную добавление соединений только необходимо при добавлении ввода или вывода без соединений.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли данное соединение быть добавлено к получателю.
Объявление
Swift
func canAddConnection(_
connection
: AVCaptureConnection!) -> BoolObjective C
- (BOOL)canAddConnection:(AVCaptureConnection *)
connection
Параметры
connection
AVCaptureConnection
экземпляр.Возвращаемое значение
YES
true
еслиconnection
может быть добавлен к получателю, иначеNO
false
.Оператор импорта
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;
Константы
-
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 и позже.
-
-
Отправленный, если ошибка произошла во время сеанса получения.
Вы получаете базовую ошибку из пользовательского информационного словаря уведомления с помощью ключа
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 и позже.