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!) -> BoolObjective C
- (BOOL)canAddInput:(AVCaptureInput *)
input
Параметры
input
Ввод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YES
true
еслиinput
может быть добавлен к сеансу, иначеNO
false
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Добавляет данный ввод к сеансу.
Объявление
Swift
func addInput(_
input
: AVCaptureInput!)Objective C
- (void)addInput:(AVCaptureInput *)
input
Параметры
input
Ввод для добавления к сеансу.
Обсуждение
Можно только добавить ввод к сеансу с помощью этого метода если
canAddInput:
возвратыYES
true
.В то время как сеанс работает, можно вызвать этот метод.
Оператор импорта
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 и позже.
См. также
-
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!) -> BoolObjective C
- (BOOL)canAddOutput:(AVCaptureOutput *)
output
Параметры
output
Вывод, который Вы хотите добавить к сеансу.
Возвращаемое значение
YES
true
еслиoutput
может быть добавлен к сеансу, иначеNO
false
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Добавляет данный вывод к сеансу.
Объявление
Swift
func addOutput(_
output
: AVCaptureOutput!)Objective C
- (void)addOutput:(AVCaptureOutput *)
output
Параметры
output
Вывод для добавления к сеансу.
Обсуждение
Можно только добавить вывод к сеансу с помощью этого метода если
canAddOutput:
возвратыYES
true
.В то время как сеанс работает, можно вызвать этот метод.
Оператор импорта
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 и позже.
См. также
-
Говорит получателю начинать работать.
Объявление
Swift
func startRunning()
Objective C
- (void)startRunning
Обсуждение
Этот метод используется для запуска потока данных от вводов до выводов, подключенных с
AVCaptureSession
экземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель или полностью не начал работать или не удался начать работать. Если ошибка происходит во время этого процесса, и получателю не удается начать работать, Вы получаетеAVCaptureSessionRuntimeErrorNotification
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Говорит получателю прекращать работать.
Объявление
Swift
func stopRunning()
Objective C
- (void)stopRunning
Обсуждение
Этот метод используется для остановки потока данных от вводов до выводов, подключенных с
AVCaptureSession
экземпляр, который является получателем. Этот метод синхронен и блоки, пока получатель полностью не прекратил работать.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
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 и позже.
См. также
-
Фиксации ряд изменений конфигурации.
Объявление
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:
возвратыYES
true
для той предварительной установки.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, может ли получатель использовать данную предварительную установку.
Объявление
Swift
func canSetSessionPreset(_
preset
: String!) -> BoolObjective C
- (BOOL)canSetSessionPreset:(NSString *)
preset
Параметры
preset
Предварительная установка требуется установить для получателя. Для возможных значений посмотрите Предварительные установки Видеовхода.
Возвращаемое значение
YES
true
если получатель может использоватьpreset
, иначеNO
false
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Добавляет данное соединение получения с сеансом.
Объявление
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
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли данное соединение быть добавлено к получателю.
Объявление
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
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Добавляет ввод получения к сеансу, не формируя соединений.
Объявление
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 и позже.
См. также
-
usesApplicationAudioSession
СвойствоУказывает, использует ли сеанс получения совместно используемый аудио сеанс приложения.
Объявление
Swift
var usesApplicationAudioSession: Bool
Objective C
@property(nonatomic) BOOL usesApplicationAudioSession
Обсуждение
Если значение этого свойства
NO
false
, сеанс получения использует частноеAVAudioSession
экземпляр для аудиозаписи, которая может вызвать прерывание, если Ваше приложение использует свой собственный аудио сеанс для воспроизведения.Для приложений, соединенных против iOS 7.0 или более новых, это свойство значения по умолчанию к
YES
true
, разрешение одновременного воспроизведения и запись.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 7.0 и позже.
-
Булево значение, указывающее, изменяет ли сеанс получения автоматически настройки в совместно используемом аудио сеансе приложения.
Объявление
Swift
var automaticallyConfiguresApplicationAudioSession: Bool
Objective C
@property(nonatomic) BOOL automaticallyConfiguresApplicationAudioSession
Обсуждение
Это свойство только вступает в силу если значение
usesApplicationAudioSession
свойствоYES
true
.Значение этого свойства значения по умолчанию к
YES
true
, то, чтобы заставлять сеанс получения автоматически сконфигурировать приложение совместно использовалоAVAudioSession
экземпляр для оптимальной записи. Например, если сеанс получения будет использовать камеру устройства, расположенную «против движения», то микрофон аудио сеанса и диаграмма направленности будут установлены для оптимальной записи звука от того направления. Обратите внимание на то, что исходное состояние аудио сеанса не восстанавливается после того, как получение заканчивается.Если Вы устанавливаете значение этого свойства в
NO
false
, Ваше приложение ответственно за выбор надлежащих аудио настроек сеанса. Если настройки аудио сеанса являются несовместимыми с сеансом получения, запись может перестать работать.Оператор импорта
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 и позже.
-
-
Отправленный, если ошибка произошла во время сеанса получения.
Вы получаете базовую ошибку из пользовательского информационного словаря уведомления с помощью ключа
AVCaptureSessionErrorKey
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Отправленный, когда запускается сеанс получения.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Отправленный, когда останавливается сеанс получения.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Отправленный, если прерван сеанс получения.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Отправленный, если заканчивается прерывание к сеансу получения.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.