AVAudioSession
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 3.0 и позже.
Экземпляр AVAudioSession класс, названный аудио сеансом, является одноэлементным объектом, что Вы используете для установки аудио контекста для приложения.
Используйте этот класс:
Активируйте или деактивируйте аудио сеанс своего приложения
Приведите в порядок аудио категорию сеанса и режим для передачи с системой, как Вы намереваетесь использовать аудио в своем приложении
Сконфигурируйте параметры звука, такие как частота дискретизации, буферная продолжительность I/O и число каналов
Обработайте аудио изменения маршрута
Реагируйте на важные аудио события, такие как изменения в доступности базового демона Мультимедийных служб
Конфигурирование аудио сеанса
Совместно используемый аудио объект сеанса выступает в качестве посредника между Вашим приложением и демоном мультимедийных служб системы (и, в свою очередь, базовые аудио аппаратные средства). Мультимедийная служба подвергается запросам из других приложений — некоторые из которых могут иметь более высокий приоритет, чем аудио потребности Вашего приложения, такие как обработка телефонного вызова. Из-за посреднической роли, которую играет демон мультимедийных служб, Ваше приложение непосредственно не управляет определенными параметрами звука; вместо этого, Вы запрашиваете предпочтенные значения на эти настройки и наблюдаете свойства относительно AVAudioSession объект (или связанный порт и объекты источника данных), чтобы видеть, ли, когда, и до какой степени Ваши запросы вступают в силу.
Например, для определения номера каналов вывода делают следующее:
Вызвать
setPreferredOutputNumberOfChannels:error:с предложенным числом каналов.Если возвращается тот метод
YEStrue, Ваш запрос был принят. Иначе, исследуйтеNSErrorпараметр для нахождения причины ошибки.Даже если Ваш запрос был принят, число каналов, которые Вы предложили, может не быть доступным, или изменение не могло бы сразу вступить в силу.
Исследуйте значение
outputNumberOfChannelsсвойство для наблюдения то, что текущее число каналов, или наблюдение значения ключа использования для наблюдения, когда это изменяется.
Если аудио изменение маршрута происходит (вследствие таких событий, как телефонный вызов или аудио в использовании другим приложением, в то время как Ваш в фоновом режиме), Вы, возможно, должны повторно применить свои предпочтительные параметры звука. Подпишитесь на AVAudioSessionRouteChangeNotification уведомление для ответа на эти события.
Предпочтительные настройки могут сразу не вступить в силу. Например, можно использовать setPreferredDataSource:error: метод на встроенном порту микрофона для выбора переднего микрофона, в то время как гарнитура включается — это предпочтение, не вступает в силу, пока гарнитура не отключается и аудио изменения маршрута.
Маршрутизация и смешивание
Когда многократные сеансы активны, категория Вашего сеанса помогает определить аудиовход и вывести способы поведения. Другие активные сеансы могут быть связаны с системными службами (такими как Музыкальное приложение, навигация «поворот за поворотом» или телефонный вызов) или фоновые приложения, поддерживающие аудио (см. состояния Приложения и Многозадачность).
Чтобы управлять, как Ваш аудио сеанс взаимодействует с другими, используйте setCategory:error: или setCategory:withOptions:error: метод. Если Вы выбираете категорию или опцию, поддерживающую смешивание (см. “Audio Session Categories” и “AVAudioSessionCategoryOptions”), аудио из других приложений продолжается при создании сеанса активным.
Система позволяет только одному сеансу управлять аудио маршрутизацией. Если многократные сеансы активны, система выбирает, какие средства управления, направляющие на основе приоритета (системные сеансы, такие как телефонный вызов могут заменить сеанс Вашего приложения), и mixable ли сеанс.
Запись требует полномочий пользователя
Запись аудио требует явного разрешения от пользователя. В первый раз аудио сеанс Вашего приложения пытается использовать маршрут аудиовхода при использовании категории, позволяющей записать, система автоматически предлагает пользователю разрешение. В iOS 7.0 и ранее, вызвать requestRecordPermission: предлагать пользователю во время Вашего выбора (см. “Audio Session Categories”).
В iOS 8.0 и позже, пользователя не попросят дать разрешение до попытки приложения использовать аудиовход.
После того, как пользователь предоставляет или отклоняет разрешение, система помнит выбор за будущее использование в том же приложении. Если пользователь отклонил Ваше приложение, повторно кодирующее разрешение, или еще не реагировал на подсказку разрешения, любые сеансы аудиозаписи записывают только тишину.
Доступность мультимедийных служб
В iOS система обеспечивает аудио и другую мультимедийную функциональность посредством совместно используемого серверного процесса. При определенных обстоятельствах система может завершить и перезапустить этот процесс. Ваше приложение должно быть подготовлено реагировать на эти события путем переинициализации любых аудио объектов в использовании (таких как проигрыватели, устройства записи, преобразователи или аудио-очереди) в использовании и повторного применения предпочтенных аудио настроек сеанса.
Для ответа на перезапуск медиасервера подпишитесь на AVAudioSessionMediaServicesWereResetNotification уведомление.
-
Возвращает одноэлементный сеанс аудио.
Объявление
Swift
class func sharedInstance() -> AVAudioSession!Objective C
+ (AVAudioSession *)sharedInstanceОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Запросите разрешение пользователя на аудиозапись.
Объявление
Swift
func requestRecordPermission(_response: PermissionBlock!)Objective C
- (void)requestRecordPermission:(PermissionBlock)responseПараметры
responseБлок, который вызовут при записи разрешения, предоставили или отклонили.
Обсуждение
Запись аудио требует явного разрешения от пользователя. Система автоматически предлагает пользователю разрешение при использовании каких-либо категорий сеанса, позволяющих записать. Или можно вызвать этот метод для запроса разрешение во время выбора. После того, как пользователь предоставляет или отклоняет разрешение, система помнит выбор за будущее использование в том же приложении. Если разрешение не дано, или если пользователь еще не реагировал на подсказку разрешения, любые сеансы аудиозаписи записывают только тишину.
responseпараметр является блокомPermissionBlockвведите, чей единственный параметр указывает, предоставил ли пользователь или отклонил разрешение записать. Этот метод всегда сразу возвращается. Если пользователь ранее предоставил или отрицал записывать разрешение, оно выполняет блок, когда вызвано; иначе, это выводит на экран предупреждение и выполняет блок только после того, как пользователь реагировал на предупреждение.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
См. также
-
Текущее состояние разрешения записи.
Объявление
Swift
func recordPermission() -> AVAudioSessionRecordPermissionObjective C
- (AVAudioSessionRecordPermission)recordPermissionВозвращаемое значение
Возвраты одно из трех состояний:
Запись разрешения предоставили (
AVAudioSessionRecordPermissionGranted.Запись разрешения была отклонена (
AVAudioSessionRecordPermissionDenied.Запись разрешения не требовали (
AVAudioSessionRecordPermissionUndetermined).
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 8.0 и позже.
См. также
-
categoryСвойствоАудио категория сеанса. (только для чтения)
Обсуждение
Аудио категория сеанса идентифицирует ряд аудио способов поведения для Вашего приложения.
Возможные значения описаны в Аудио Категориях Сеанса). Категория по умолчанию
AVAudioSessionCategorySoloAmbient.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
См. также
-
categoryOptionsСвойствоОпции связались с текущей категорией. (только для чтения)
Объявление
Swift
var categoryOptions: AVAudioSessionCategoryOptions { get }Objective C
@property(readonly) AVAudioSessionCategoryOptions categoryOptionsОбсуждение
Используйте опции категории настроить аудио поведение Вашего приложения. Для списка опций, которые могут быть указаны в этом свойстве, посмотрите
“AVAudioSessionCategoryOptions”.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
Устанавливает аудио категорию сеанса.
Объявление
Swift
func setCategory(_theCategory: String!, erroroutError: NSErrorPointer) -> BoolПараметры
theCategoryАудио категория сеанса для применения к аудио сеансу. Посмотрите Аудио Категории Сеанса.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли категория и опции были установлены успешно, илиNOfalseиначе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
См. также
-
Устанавливает аудио категорию сеанса с указанными опциями.
Объявление
Swift
func setCategory(_category: String!, withOptionsoptions: AVAudioSessionCategoryOptions, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setCategory:(NSString *)categorywithOptions:(AVAudioSessionCategoryOptions)optionserror:(NSError **)outErrorПараметры
categoryАудио категория сеанса для применения к аудио сеансу. Для списка значений посмотрите Аудио Категории Сеанса.
optionsМаска дополнительных опций для обработки аудио. Для списка констант посмотрите AVAudioSessionCategoryOptions
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли категория и опции были установлены успешно, илиNOfalseиначе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
modeСвойствоАудио режим сеанса. (только для чтения)
Обсуждение
Одна из констант перечислила в Аудио Режимах Сеанса, который вместе с категорией аудио сеанса указывает к системе, как Вы намереваетесь использовать аудио в своем приложении. Можно использовать режим для конфигурирования аудиосистемы для определенных вариантов использования, таких как видеозапись, голосовой чат или видео-чат или проводящие измерения. Режим по умолчанию
AVAudioSessionModeDefault.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 5.0 и позже.
-
Устанавливает аудио режим сеанса.
Объявление
Swift
func setMode(_theMode: String!, erroroutError: NSErrorPointer) -> BoolПараметры
theModeАудио режим сеанса для применения к аудио сеансу.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
Возвраты
YEStrueна успехе илиNOfalseпри отказе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Посмотрите Аудио Режимы Сеанса для обсуждения режимов и их эффектов.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 5.0 и позже.
-
Активирует или деактивировал аудио сеанс Вашего приложения.
Объявление
Swift
func setActive(_beActive: Bool, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setActive:(BOOL)beActiveerror:(NSError **)outErrorПараметры
beActiveИспользовать
YEStrueактивировать аудио сеанс Вашего приложения, илиNOfalseдеактивировать его.outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли активное состояние сеанса было изменено успешно, илиNOfalseесли это не было.Обсуждение
Если другой активный аудио сеанс имеет более высокий приоритет, чем Ваш (например, телефонный вызов), и никакой аудио сеанс не позволяет смешиваться, пытаясь активировать Ваши аудио сбои сеанса. Деактивация Вашего сеанса перестанет работать, если какое-либо связанное аудио возразит (такие как очереди, преобразователи, проигрыватели или устройства записи) в настоящее время работают.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Активирует или деактивировал аудио сеанс Вашего приложения с помощью указанных опций.
Объявление
Swift
func setActive(_active: Bool, withOptionsoptions: AVAudioSessionSetActiveOptions, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setActive:(BOOL)activewithOptions:(AVAudioSessionSetActiveOptions)optionserror:(NSError **)outErrorПараметры
activeУказать
YEStrueактивировать аудио сеанс Вашего приложения, илиNOfalseдеактивировать его.optionsЦелочисленная битовая маска, содержащая одну или более констант от перечисления AVAudioSessionSetActiveOptions.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли активное состояние сеанса было изменено успешно, илиNOfalseесли это не было.Обсуждение
Если другой активный аудио сеанс имеет более высокий приоритет, чем Ваш (например, телефонный вызов), и никакой аудио сеанс не позволяет смешиваться, пытаясь активировать Ваши аудио сбои сеанса. Деактивация Вашего сеанса перестанет работать, если какое-либо связанное аудио возразит (такие как очереди, преобразователи, проигрыватели или устройства записи) в настоящее время работают.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
outputVolumeСвойствоВыходной набор томов в масштабе всей системы пользователем. (только для чтения)
Объявление
Swift
var outputVolume: Float { get }Objective C
@property(readonly) float outputVolumeОбсуждение
Значение в диапазоне
0.0к1.0, с0.0представление минимального объема и1.0представление максимальной громкости.Выходная громкость в масштабе всей системы может регулироваться непосредственно только пользователем; для обеспечения регулятора громкости в приложении используйте
MPVolumeViewкласс.Можно наблюдать изменения в значении этого свойства при помощи наблюдения значения ключа.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
inputGainСвойствоУсиление применилось к вводам, связанным с сеансом. (только для чтения)
Объявление
Swift
var inputGain: Float { get }Objective C
@property(readonly) float inputGainОбсуждение
Значение с плавающей точкой в пределах от
0.0к1.0, где0.0представляет самую низкую установку усиления и1.0представляет самую высокую установку усиления.Можно наблюдать изменения в значении этого свойства с помощью наблюдения значения ключа.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
inputGainSettableСвойствоБулево значение, указывающее, может ли быть установлено входное усиление. (только для чтения)
Объявление
Swift
var inputGainSettable: Bool { get }Objective C
@property(readonly, getter=isInputGainSettable) BOOL inputGainSettableОбсуждение
Возвраты
YEStrueесли устройство позволяет входному усилению быть измененным, илиNOfalseиначе. Не все устройства поддерживают переменный коэффициент усиления, проверяют это свойство прежде, чем попытаться установить входное усиление.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
Изменяет входное усиление на указанное значение.
Объявление
Swift
func setInputGain(_gain: Float, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setInputGain:(float)gainerror:(NSError **)outErrorПараметры
gainНовое значение усиления, которое должно быть в диапазоне
0.0к1.0, где0.0представляет самую низкую установку усиления и1.0представляет самую высокую установку усиления.outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли новое значение усиления было установлено успешно,NOfalseесли это не было.Обсуждение
Прежде, чем вызвать этот метод, регистрируйте значение
inputGainSettableсвойство для проверки входного уровня усиления устанавливаемо для текущих вводов.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
inputLatencyСвойствоЗадержка для аудиовхода, в секундах. (только для чтения)
Объявление
Swift
var inputLatency: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval inputLatencyОбсуждение
Если аудио категория сеанса для Вашего приложения не поддерживает входную запись, это свойство генерирует
AVAudioSessionErrorCodeIncompatibleCategoryошибка.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
outputLatencyСвойствоЗадержка для аудиовыхода, измеренного в секундах. (только для чтения)
Объявление
Swift
var outputLatency: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval outputLatencyОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
sampleRateСвойствоЧастота дискретизации звука, в герц, который является в настоящее время в действительности. (только для чтения)
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
preferredSampleRateСвойствоПредпочтительная частота дискретизации, в герц. (только для чтения)
Объявление
Swift
var preferredSampleRate: Double { get }Objective C
@property(readonly) double preferredSampleRateОбсуждение
Значение этого свойства указывает предпочтительный набор частоты дискретизации с помощью
setPreferredSampleRate:error:метод. Для наблюдения фактической частоты дискретизации используйтеsampleRateсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
Устанавливает предпочтительную частоту дискретизации для ввода и вывода.
Объявление
Swift
func setPreferredSampleRate(_sampleRate: Double, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setPreferredSampleRate:(double)sampleRateerror:(NSError **)outErrorПараметры
sampleRateАппаратная частота дискретизации для использования. Доступный диапазон для аппаратной частоты дискретизации зависим от устройств. Это обычно колеблется от 8 000 до 48 000 герц.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли запрос был успешно выполнен, илиNOfalseиначе.Обсуждение
Этот метод запрашивает изменение в частоте дискретизации звука ввода и вывода. Для наблюдения эффекта этого изменения используйте
sampleRateсвойство. Для получения дополнительной информации посмотрите“Configuring the Audio Session”.Можно установить предпочтительную частоту дискретизации прежде или после активации аудио сеанса.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
IOBufferDurationСвойствоI/O буферизует продолжительность в секундах, который является в настоящее время в действительности. (только для чтения)
Объявление
Swift
var IOBufferDuration: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval IOBufferDurationОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
preferredIOBufferDurationСвойствоПредпочтительный I/O буферизует продолжительность в секундах. (только для чтения)
Объявление
Swift
var preferredIOBufferDuration: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval preferredIOBufferDurationОбсуждение
Значение этого свойства указывает, что буферная продолжительность выбрала использование
setPreferredIOBufferDuration:error:метод. Для наблюдения фактической буферной продолжительности используйтеIOBufferDurationсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Устанавливает предпочтительную аудио буферную продолжительность I/O, в секундах.
Объявление
Swift
func setPreferredIOBufferDuration(_duration: NSTimeInterval, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)durationerror:(NSError **)outErrorПараметры
durationАудио I/O буферизует продолжительность в секундах, которые Вы хотите использовать.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли запрос был успешно выполнен, илиNOfalseиначе.Обсуждение
Этот метод запрашивает изменение в буферной продолжительности I/O. Чтобы определить, вступает ли изменение в силу, используйте
IOBufferDurationсвойство. Для получения дополнительной информации посмотрите“Configuring the Audio Session”.Аудио буферная продолжительность I/O является числом секунд для единственного аудиовхода / выходной цикл. Например, с I/O буферизуют продолжительность 0,005 с, на каждом аудио цикле I/O:
Вы получаете 0,005 с аудио если ввод получения.
Необходимо обеспечить 0,005 с аудио если вывод обеспечения.
Типичная максимальная буферная продолжительность I/O составляет 0,93 с (соответствующий 4 096 демонстрационным кадрам в частоте дискретизации 44,1 кГц). Минимальная буферная продолжительность I/O составляет по крайней мере 0,005 с (256 кадров), но может быть ниже в зависимости от аппаратных средств в использовании.
Можно установить предпочтительную буферную продолжительность I/O прежде или после активации аудио сеанса.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 3.0 и позже.
См. также
-
secondaryAudioShouldBeSilencedHintСвойствоБулево значение, указывающее, играет ли другое приложение аудио. (только для чтения)
Объявление
Swift
var secondaryAudioShouldBeSilencedHint: Bool { get }Objective C
@property(readonly) BOOL secondaryAudioShouldBeSilencedHintОбсуждение
Значение
YEStrueкогда другое приложение с non-mixable аудио сеансом играет аудио.Приложения должны использовать это свойство в качестве подсказки для глушения аудио, которое вторично к функциональности приложения. Например, игровое использование
AVAudioSessionCategoryAmbientможет использовать это свойство, чтобы решить отключить звук его звуковой дорожки при оставлении его звуковых эффектов нес отключенным звуком.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 8.0 и позже.
-
inputNumberOfChannelsСвойствоЧисло аудиовхода образовывает канал для текущего маршрута. (только для чтения)
Объявление
Swift
var inputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger inputNumberOfChannelsОбсуждение
Можно наблюдать изменения в значении этого свойства при помощи наблюдения значения ключа. Если аудио категория сеанса для Вашего приложения не поддерживает входную запись, это свойство генерирует
AVAudioSessionErrorCodeIncompatibleCategoryошибка.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
maximumInputNumberOfChannelsСвойствоНаибольшее число каналов ввода, доступных для текущего маршрута. (только для чтения)
Объявление
Swift
var maximumInputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger maximumInputNumberOfChannelsОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
preferredInputNumberOfChannelsСвойствоПредпочтительное число каналов ввода для текущего маршрута. (только для чтения)
Объявление
Swift
var preferredInputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger preferredInputNumberOfChannelsОбсуждение
Значение этого свойства указывает число каналов, выбранных с помощью
setPreferredInputNumberOfChannels:error:метод. Для наблюдения фактического числа каналов используйтеinputNumberOfChannelsсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
Определяет предпочтительный номер каналов ввода для текущего маршрута.
Объявление
Swift
func setPreferredInputNumberOfChannels(_count: Int, erroroutError: NSErrorPointer) -> BoolПараметры
countЧисло каналов ввода Вы хотите использовать.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли запрос был успешно выполнен, илиNOfalseиначе.Обсуждение
Этот метод запрашивает изменение в числе каналов ввода. Чтобы определить, вступает ли изменение в силу, используйте
inputNumberOfChannelsсвойство. Для получения дополнительной информации посмотрите“Configuring the Audio Session”. Запрос многих каналов ввода меньше чем один или больше, чем возвращенныйmaximumInputNumberOfChannelsрезультаты по ошибке.Необходимо определить предпочтительный номер каналов ввода только после установки категории и режима аудио сеанса и активации сеанса.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
См. также
-
outputNumberOfChannelsСвойствоЧисло каналов аудиовыхода. (только для чтения)
Объявление
Swift
var outputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger outputNumberOfChannelsОбсуждение
Можно наблюдать изменения в значении этого свойства при помощи наблюдения значения ключа.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
maximumOutputNumberOfChannelsСвойствоНаибольшее число каналов вывода, доступных для текущего маршрута. (только для чтения)
Объявление
Swift
var maximumOutputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger maximumOutputNumberOfChannelsОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
preferredOutputNumberOfChannelsСвойствоПредпочтительное число каналов вывода для текущего маршрута. (только для чтения)
Объявление
Swift
var preferredOutputNumberOfChannels: Int { get }Objective C
@property(readonly) NSInteger preferredOutputNumberOfChannelsОбсуждение
Значение этого свойства указывает предпочтенное число каналов вывода, выбранных с помощью
setPreferredOutputNumberOfChannels:error:метод. Для наблюдения фактического числа каналов используйтеoutputNumberOfChannelsсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
Определяет предпочтительный номер каналов вывода для текущего маршрута.
Объявление
Swift
func setPreferredOutputNumberOfChannels(_count: Int, erroroutError: NSErrorPointer) -> BoolПараметры
countЧисло каналов вывода Вы хотите использовать.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли запрос был успешно выполнен, илиNOfalseиначе.Обсуждение
Этот метод запрашивает изменение в числе каналов вывода. Чтобы определить, вступает ли изменение в силу, используйте
outputNumberOfChannelsсвойство. Для получения дополнительной информации посмотрите“Configuring the Audio Session”. Запрос многих каналов вывода меньше чем один или больше, чем возвращенныйmaximumOutputNumberOfChannelsрезультаты по ошибке. Эта функция поддерживается только на определенных устройствах и периферийных устройствах.Вы определяете предпочтительный номер каналов вывода только после установки категории и режима аудио сеанса и активации сеанса.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
currentRouteСвойствоОбъект, описывающий текущий аудиовход и выходной маршрут. (только для чтения)
Объявление
Swift
var currentRoute: AVAudioSessionRouteDescription! { get }Objective C
@property(readonly) AVAudioSessionRouteDescription *currentRouteОбсуждение
Этот объект описывает порты ввода и вывода, связанные с текущим аудио маршрутом.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
inputAvailableСвойствоБулево значение, указывающее, доступен ли путь аудиовхода. (только для чтения)
Объявление
Swift
var inputAvailable: Bool { get }Objective C
@property(readonly, getter=isInputAvailable) BOOL inputAvailableОбсуждение
YEStrueесли входной маршрут доступен, илиNOfalseиначе.Используйте это свойство, чтобы определить, поддерживает ли устройство в настоящее время аудиовход.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
otherAudioPlayingСвойствоБулево значение, указывающее, играет ли другое приложение в настоящее время аудио. (только для чтения)
Объявление
Swift
var otherAudioPlaying: Bool { get }Objective C
@property(readonly, getter=isOtherAudioPlaying) BOOL otherAudioPlayingОбсуждение
В iOS 8.0 и более поздних приложениях должен использовать
secondaryAudioShouldBeSilencedHintвместо этого свойства.otherAudioPlayingсвойство будет истиной если любое другое аудио (включая аудио от использования приложенияAVAudioSessionCategoryAmbientиграет, тогда какsecondaryAudioShouldBeSilencedHintсвойство более строго в своем рассмотрении того, играет ли основное аудио из другого приложения.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
Временно изменяет текущий аудио маршрут.
Объявление
Swift
func overrideOutputAudioPort(_portOverride: AVAudioSessionPortOverride, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverrideerror:(NSError **)outErrorПараметры
portOverrideОпция переопределения для вывода. Для списка констант посмотрите
“AVAudioSessionPortOverride”.outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли новый параметр маршрутизации был установлен успешно, илиNOfalseесли это не было.Обсуждение
Вызов этого метода с
AVAudioSessionPortOverrideSpeakerопция и категория аудио сеансаAVAudioSessionCategoryPlayAndRecordаудио причин для использования встроенного динамика и микрофона независимо от других настроек. Это изменение остается в силе только, пока текущие изменения маршрута или Вы не вызываете этот метод снова сAVAudioSessionPortOverrideNoneопция.Apple рекомендует использовать
MPVolumeViewкласс, чтобы обеспечить контроль за работой пользователей для аудиовхода и вывести выбор.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
availableInputsСвойствоМассив входных портов, доступных для маршрутизации. (только для чтения)
Объявление
Swift
var availableInputs: [AnyObject]! { get }Objective C
@property(readonly) NSArray *availableInputsОбсуждение
Массив
AVAudioSessionPortDescriptionобъекты, представляющие устройства аудиовхода, в настоящее время присоединяемые к системе и относящиеся к текущей категории и режиму аудио сеанса. Например, если категория сеансаAVAudioSessionCategoryPlayAndRecord, массив может содержать встроенный микрофон и (если включено) порт микрофона гарнитуры.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
См. также
-
preferredInputСвойствоПредпочтительный входной порт для аудио маршрутизации. (только для чтения)
Объявление
Swift
var preferredInput: AVAudioSessionPortDescription! { get }Objective C
@property(readonly) AVAudioSessionPortDescription *preferredInputОбсуждение
Значение этого свойства указывает, что входной порт выбрал использование
setPreferredInput:error:метод. Для наблюдения фактического текущего входного порта используйтеcurrentRouteсвойство. Возвратыnilесли никакое предпочтение не было установлено или если ранее набор предпочел, чтобы ввод больше не был доступен.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
См. также
-
Устанавливает предпочтительный входной порт для аудио маршрутизации.
Объявление
Swift
func setPreferredInput(_inPort: AVAudioSessionPortDescription!, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPorterror:(NSError **)outErrorПараметры
inPortAVAudioSessionPortDescriptionобъект, описывающий порт для использования для ввода.outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли запрос был успешно выполнен, илиNOfalseиначе.Обсуждение
Установка предпочтительного входного порта запрашивает изменение во входном маршруте аудио. Чтобы определить, вступает ли изменение в силу, используйте
currentRouteсвойство. Для получения дополнительной информации посмотрите“Configuring the Audio Session”.Значение
inPortпараметр должен быть одним изAVAudioSessionPortDescriptionобъекты вavailableInputsмассив. Если этот параметр указывает порт, который уже не является частью текущего аудио маршрута, и сеанс приложения управляет аудио маршрутизацией, этот метод инициирует изменение маршрута для использования предпочтительного порта.Необходимо установить предпочтительный входной порт только после установки категории и режима аудио сеанса и активации сеанса.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
inputDataSourcesСвойствоМассив доступных источников данных для текущего входного порта аудио сеанса. (только для чтения)
Объявление
Swift
var inputDataSources: [AnyObject]! { get }Objective C
@property(readonly) NSArray *inputDataSourcesОбсуждение
Массив
AVAudioSessionDataSourceDescriptionобъекты, представляющие доступные входные источники, илиnilесли переключение между многократными входными источниками не в настоящее время возможно. Эта функция поддерживается только на определенных устройствах и периферийных устройствах например на iPhone, оборудованном и передней стороной - и микрофонами, расположенными «против движения».Можно наблюдать изменения в значении этого свойства при помощи наблюдения значения ключа.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
inputDataSourceСвойствоВ настоящее время выбираемый входной источник данных. (только для чтения)
Объявление
Swift
var inputDataSource: AVAudioSessionDataSourceDescription! { get }Objective C
@property(readonly) AVAudioSessionDataSourceDescription *inputDataSourceОбсуждение
Значение этого свойства
nilесли переключение между многократными входными источниками не в настоящее время возможно. Эта функция поддерживается только на определенных устройствах и периферийных устройствах например на iPhone, оборудованном и передней стороной - и микрофонами, расположенными «против движения».Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
Выбирает источник данных для текущего входного порта аудио сеанса.
Объявление
Swift
func setInputDataSource(_dataSource: AVAudioSessionDataSourceDescription!, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSourceerror:(NSError **)outErrorПараметры
dataSourceИсточник данных для ввода аудио сеанса.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли был успешно присвоен входной источник данных для аудио сеанса; иначе,NOfalse.Обсуждение
Можно изменить входной источник на всего один из
AVAudioSessionDataSourceDescriptionобъекты вinputDataSourcesмассив. Переключение между многократными входными источниками поддерживается только на определенных устройствах и периферийных устройствах; например, этот метод может использоваться для выбора между передней стороной - и микрофонами, расположенными «против движения», на iPhone, оборудованном ими.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
outputDataSourcesСвойствоМассив доступных источников выходных данных для текущего аудио маршрута. (только для чтения)
Объявление
Swift
var outputDataSources: [AnyObject]! { get }Objective C
@property(readonly) NSArray *outputDataSourcesОбсуждение
Массив
AVAudioSessionDataSourceDescriptionобъекты, представляющие доступные выходные источники, илиnilесли переключение между многократными выходными источниками не в настоящее время возможно. Эта функция поддерживается только на определенных аксессуарах USB.Можно наблюдать изменения в значении этого свойства при помощи наблюдения значения ключа.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
outputDataSourceСвойствоВ настоящее время выбираемый источник выходных данных. (только для чтения)
Объявление
Swift
var outputDataSource: AVAudioSessionDataSourceDescription! { get }Objective C
@property(readonly) AVAudioSessionDataSourceDescription *outputDataSourceОбсуждение
Значение этого свойства
nilесли переключение между многократными выходными источниками не в настоящее время возможно. Переключение выходных источников поддерживается только на определенных аксессуарах USB.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
Устанавливает источник выходных данных для аудио сеанса.
Объявление
Swift
func setOutputDataSource(_dataSource: AVAudioSessionDataSourceDescription!, erroroutError: NSErrorPointer) -> BoolObjective C
- (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSourceerror:(NSError **)outErrorПараметры
dataSourceИсточник данных для вывода аудио сеанса.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
YEStrueесли был успешно присвоен источник выходных данных для аудио сеанса; иначе,NOfalse.Обсуждение
Можно изменить выходной источник на один из
AVAudioSessionDataSourceDescriptionобъекты вoutputDataSourcesмассив. Эта функция поддерживается только на определенных аксессуарах USB.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
См. также
-
Объект делегата для аудио сеанса.
Оператор осуждения
Используйте уведомления, описанные в разделе Notifications этого класса вместо этого.
Объявление
Objective C
@property(assign) id< AVAudioSessionDelegate > delegateОбсуждение
Объект делегата должен реализовать протокол, описанный в Ссылке на протокол AVAudioSessionDelegate.
Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 6.0.
-
Число аудио аппаратных каналов ввода. (только для чтения)
Оператор осуждения
Использовать
inputNumberOfChannelsвместо этого.Объявление
Objective C
@property(readonly) NSInteger currentHardwareInputNumberOfChannelsОператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
Число аудио аппаратных каналов вывода. (только для чтения)
Оператор осуждения
Использовать
outputNumberOfChannelsвместо этого.Объявление
Objective C
@property(readonly) NSInteger currentHardwareOutputNumberOfChannelsОператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
Аудио аппаратная частота дискретизации, в герц. (только для чтения)
Оператор осуждения
Использовать
sampleRateвместо этогоОбъявление
Objective C
@property(readonly) double currentHardwareSampleRateОбсуждение
Получите значение этого свойства после активации Вашего аудио сеанса. В то время как Ваш сеанс остается активным, после успешной активации не изменяется значение этого свойства.
Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
См. также
-
Предпочтительная аппаратная частота дискретизации, в герц. (только для чтения)
Оператор осуждения
Использовать
preferredSampleRateвместо этого.Объявление
Objective C
@property(readonly) double preferredHardwareSampleRateОператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
См. также
-
- setPreferredHardwareSampleRate:error:(iOS 6.0)Устанавливает предпочтительную аппаратную частоту дискретизации для ввода и вывода.
Оператор осуждения
Использовать
setPreferredSampleRate:error:вместо этого.Объявление
Objective C
- (BOOL)setPreferredHardwareSampleRate:(double)sampleRateerror:(NSError **)outErrorПараметры
sampleRateАппаратная частота дискретизации Вы хотите использовать. Доступный диапазон для аппаратной частоты дискретизации зависим от устройств.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
Возвраты
YEStrueна успехе илиNOfalseпри отказе.Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
Булево значение, указывающее, доступен ли аппаратный путь аудиовхода (
YEStrue), или не (NOfalse). (только для чтения)Оператор осуждения
Использовать
inputAvailableвместо этого.Объявление
Objective C
@property(readonly) BOOL inputIsAvailableОператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
- setActive:withFlags:error:(iOS 6.0)Активирует или деактивировал аудио сеанс Вашего приложения; обеспечивает флаги для использования другими аудио сеансами.
Оператор осуждения
Использовать
setActive:withOptions:error:вместо этого.Объявление
Параметры
beActiveИспользовать
YEStrueактивировать аудио сеанс Вашего приложения илиNOfalseдеактивировать его.flagsРастровое значение, содержащее один или несколько флагов от перечисления Флагов Активации.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSErrorобъект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil.Возвращаемое значение
Возвраты
YEStrueна успехе илиNOfalseпри отказе.Обсуждение
Если активный аудио сеанс другого приложения имеет более высокий приоритет, чем Ваше приложение, и что другой аудио сеанс не позволяет смешиваться с другими приложениями, пытание активировать Ваш аудио сеанс может перестать работать.
Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 6.0.
Типы данных
-
Когда пользователь реагирует на подсказку для записи разрешения, подпись для блока выполнилась.
Объявление
Swift
typealias PermissionBlock = (Bool) -> VoidObjective C
typedef void (^PermissionBlock)(BOOL granted)Обсуждение
Блок берет единственный параметр:
grantedYEStrueесли пользователь явно дал разрешение приложения для аудиозаписи;NOfalseесли пользователь отклонил разрешение.Этот тип блока используется
requestRecordPermission:метод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
Идентификаторы категории для аудио сеансов, используемых в качестве значений для
setCategory:error:метод.Объявление
Swift
let AVAudioSessionCategoryAmbient: String let AVAudioSessionCategorySoloAmbient: String let AVAudioSessionCategoryPlayback: String let AVAudioSessionCategoryRecord: String let AVAudioSessionCategoryPlayAndRecord: String let AVAudioSessionCategoryAudioProcessing: String let AVAudioSessionCategoryMultiRoute: StringObjective C
NSString *const AVAudioSessionCategoryAmbient; NSString *const AVAudioSessionCategorySoloAmbient; NSString *const AVAudioSessionCategoryPlayback; NSString *const AVAudioSessionCategoryRecord; NSString *const AVAudioSessionCategoryPlayAndRecord; NSString *const AVAudioSessionCategoryAudioProcessing; NSString *const AVAudioSessionCategoryMultiRoute;Константы
-
AVAudioSessionCategoryAmbientКатегория для приложения, в котором воспроизведение звука является неосновным — т.е. Ваше приложение, может использоваться успешно с выключенным звуком.
Эта категория является также подходящей для, «манипулируют» приложениями стиля, такими как виртуальное фортепьяно, которое играет пользователь, в то время как играет Музыкальное приложение. При использовании этой категории аудио из других приложений смешивается с аудио. Ваше аудио заставлено замолчать экранной блокировкой, и переключателем Silent (названный Ring/Silent включают iPhone).
Доступный в iOS 3.0 и позже.
-
AVAudioSessionCategorySoloAmbientКатегория для категории по умолчанию, используемой, если Вы не устанавливаете категорию с
setCategory:error:илиsetCategory:withOptions:error:метод.Ваше аудио заставлено замолчать экранной блокировкой, и переключателем Silent (названный Ring/Silent включают iPhone).
По умолчанию использование этой категории подразумевает, что аудио Вашего приложения nonmixable — активация Вашего сеанса прервет любые другие аудио сеансы, которые также nonmixable. Чтобы позволить смешиваться, используйте
AVAudioSessionCategoryAmbientкатегория вместо этого.Доступный в iOS 3.0 и позже.
-
AVAudioSessionCategoryPlaybackКатегория для игры записанной музыки или других звуков, которые являются центральными к успешному использованию Вашего приложения.
Когда экран блокирует, при использовании этой категории Ваше аудио приложения продолжает набор переключателя Silent к тихому или. (Переключатель вызывают, Ring/Silent включает iPhone.), Чтобы продолжать играть аудио, когда Ваши переходы приложения к фону (например, когда экран заблокирует), добавьте
audioоценитеUIBackgroundModesвведите свой информационный файл списка свойств.По умолчанию использование этой категории подразумевает, что аудио Вашего приложения nonmixable — активация Вашего сеанса прервет любые другие аудио сеансы, которые также nonmixable. Чтобы позволить смешиваться для этой категории, используйте
AVAudioSessionCategoryOptionMixWithOthersопция.Доступный в iOS 3.0 и позже.
-
AVAudioSessionCategoryRecordКатегория для записи аудио; эта категория заставляет аудио воспроизведения замолчать.
Чтобы продолжать записывать аудио когда Ваши переходы приложения к фону (например, когда экран заблокирует), добавьте
audioоценитеUIBackgroundModesвведите свой информационный файл списка свойств.Пользователь должен дать разрешение для аудиозаписи (см.
“Recording Requires User Permission”).Доступный в iOS 3.0 и позже.
-
AVAudioSessionCategoryPlayAndRecordКатегория для записи (ввода) и воспроизведения (вывод) аудио, такой что касается VoIP (Передача речи по протоколу IP) приложение.
Ваше аудио продолжает набор переключателя Silent к тихому и с заблокированным экраном. (Переключатель вызывают, Ring/Silent включает iPhone.), Чтобы продолжать играть аудио, когда Ваши переходы приложения к фону (например, когда экран заблокирует), добавьте
audioоценитеUIBackgroundModesвведите свой информационный файл списка свойств.Эта категория является подходящей для одновременной записи и воспроизведения, и также для приложений, записывающих и воспроизводящих, но не одновременно.
По умолчанию использование этой категории подразумевает, что аудио Вашего приложения nonmixable — активация Вашего сеанса прервет любые другие аудио сеансы, которые также nonmixable. Чтобы позволить смешиваться для этой категории, используйте
AVAudioSessionCategoryOptionMixWithOthersопция.Пользователь должен дать разрешение для аудиозаписи (см.
“Recording Requires User Permission”).Доступный в iOS 3.0 и позже.
-
AVAudioSessionCategoryAudioProcessingКатегория для использования аудио аппаратного кодека или сигнального процессора, не играя или записывая аудио. Используйте эту категорию, например, при выполнении оффлайнового преобразования формата аудио.
Эта категория отключает воспроизведение (аудиовыход) и отключает запись (аудиовход).
Когда Ваше приложение в фоновом режиме, обработка аудиоданных обычно не продолжается. Однако, когда Ваше приложение перемещается в фон, можно запросить дополнительное время завершить обработку. Для получения дополнительной информации см. Руководство по программированию Приложения для iOS.
Доступный в iOS 3.1 и позже.
-
AVAudioSessionCategoryMultiRouteКатегория для маршрутизации отличных потоков аудиоданных к различным устройствам вывода одновременно. Например, используйте эту категорию для маршрутизации аудио и к USB-устройству и к ряду наушников. Использование этой категории требует более детального знания, и взаимодействие с, возможности доступных аудио маршрутов.
Эта категория может использоваться для ввода, выводиться, или оба.
Пользователь должен дать разрешение для аудиозаписи (см.
“Recording Requires User Permission”).Доступный в iOS 6.0 и позже.
Обсуждение
Каждое приложение, работающее в iOS, имеет единственный аудио сеанс, поочередно имеющий единственную категорию. В то время как приложение работает, можно изменить категорию аудио сеанса.
Можно совершенствовать конфигурацию, предоставленную
AVAudioSessionCategoryPlayback,AVAudioSessionCategoryRecord, иAVAudioSessionCategoryPlayAndRecordкатегории при помощи аудио режима сеанса, как описано в Аудио Режимах Сеанса. -
-
Константы, указывающие дополнительные аудио способы поведения.
Объявление
Swift
struct AVAudioSessionCategoryOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var MixWithOthers: AVAudioSessionCategoryOptions { get } static var DuckOthers: AVAudioSessionCategoryOptions { get } static var AllowBluetooth: AVAudioSessionCategoryOptions { get } static var DefaultToSpeaker: AVAudioSessionCategoryOptions { get } }Objective C
enum { AVAudioSessionCategoryOptionMixWithOthers = 1, AVAudioSessionCategoryOptionDuckOthers = 2, AVAudioSessionCategoryOptionAllowBluetooth = 4, AVAudioSessionCategoryOptionDefaultToSpeaker = 8 }; typedef NSUInteger AVAudioSessionCategoryOptions;Константы
-
MixWithOthersAVAudioSessionCategoryOptionMixWithOthersАудио смесей от этого сеанса с аудио от других активных сеансов.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecordилиAVAudioSessionCategoryPlayback. (Неявный, если категория сеансаAVAudioSessionCategoryAmbient.)При активации сеанса при использовании этой опции аудио приложения не прервет аудио из других приложений (таких как Музыкальное приложение). не использование этой опции (или категория, активируя Ваш сеанс прервет другие nonmixable сеансы, которая неявно mixable)
Доступный в iOS 6.0 и позже.
-
DuckOthersAVAudioSessionCategoryOptionDuckOthersАудио причин от других сеансов, которые будут наклонены (сокращенный в объеме), в то время как аудио от этого сеанса игры.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecordилиAVAudioSessionCategoryPlayback.Используйте эту опцию, если Вы хотите, чтобы аудио от Вашего приложения (например, речевые подсказки в приложении навигации) было услышано по музыке или другому в настоящее время аудио игры. Обратите внимание на то, что ныряние начинается при активации аудио сеанса и концов приложения при деактивации сеанса.
Доступный в iOS 6.0 и позже.
-
AllowBluetoothAVAudioSessionCategoryOptionAllowBluetoothПозволяет Bluetooth оставляющие руки свободными устройства для появления как доступные входные маршруты.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecordилиAVAudioSessionCategoryRecord.Доступный в iOS 6.0 и позже.
-
DefaultToSpeakerAVAudioSessionCategoryOptionDefaultToSpeakerАудио маршрутов с сеанса на встроенный динамик по умолчанию.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecord.При использовании этой опции и никакого другого аудио маршрута (такого как гарнитура) доступно, аудио сеанса проиграет встроенный динамик устройства. Если не использование этой опции и никакого другого аудиовыхода доступно или выбрано, аудио проиграет получатель (докладчик намеревался быть сохраненным к уху). Обратите внимание на то, что только устройства iPhone оборудованы получателем; на iPad и устройствах iPod touch, эта опция не имеет никакого эффекта.
Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Идентификаторы режима для аудио сеансов, используемых в качестве значений для
setMode:error:метод.Объявление
Swift
let AVAudioSessionModeDefault: String let AVAudioSessionModeVoiceChat: String let AVAudioSessionModeGameChat: String let AVAudioSessionModeVideoRecording: String let AVAudioSessionModeMeasurement: String let AVAudioSessionModeMoviePlayback: String let AVAudioSessionModeVideoChat: StringObjective C
NSString *const AVAudioSessionModeDefault; NSString *const AVAudioSessionModeVoiceChat; NSString *const AVAudioSessionModeGameChat NSString *const AVAudioSessionModeVideoRecording; NSString *const AVAudioSessionModeMeasurement; NSString *const AVAudioSessionModeMoviePlayback; NSString *const AVAudioSessionModeVideoChat;Константы
-
AVAudioSessionModeDefaultРежим по умолчанию; используемый, если Вы не устанавливаете режим с
setMode:error:метод.Можно использовать этот режим с каждой аудио категорией сеанса.
Доступный в iOS 5.0 и позже.
-
AVAudioSessionModeVoiceChatУкажите этот режим, если Ваше приложение выполняет двухстороннюю голосовую связь, такую как использование Передачи речи по протоколу IP (VoIP).
Когда этот режим используется, тональная коррекция устройства оптимизирована для речи, и набор допустимых аудио маршрутов сокращен до, только те адаптируют для голосового чата. Для использования с
AVAudioSessionCategoryPlayAndRecordаудио категория сеанса. Apple рекомендует использовать Речь, Обрабатывающую Аудиоустройство с этим режимом (см., что Аудиоустройство Размещает Руководство для iOS).Используя этот режим имеет побочный эффект включения
AVAudioSessionCategoryOptionAllowBluetoothопция категории.Доступный в iOS 5.0 и позже.
-
AVAudioSessionModeGameChatНе устанавливайте этот режим непосредственно. Этот режим установлен Гэймом Китом от имени приложения, использующего a
GKVoiceChatобъект. Этот режим допустим только сAVAudioSessionCategoryPlayAndRecordкатегория.Если Вы нуждаетесь в подобном поведении и не используете a
GKVoiceChatобъект, использоватьAVAudioSessionModeVoiceChatилиAVAudioSessionModeVideoChatвместо этого.Доступный в iOS 5.0 и позже.
-
AVAudioSessionModeVideoRecordingУкажите этот режим, если Ваше приложение записывает фильм.
Для использования с
AVAudioSessionCategoryRecordаудио категория сеанса. Также работы сAVAudioSessionCategoryPlayAndRecordкатегория. На устройствах больше чем с одним встроенным микрофоном используется микрофон, самый близкий к видеокамере.Используя этот режим может привести к системе, обеспечивающей надлежащую обработку звукового сигнала.
Если Ваше приложение записывает видео, можно использовать
AVCaptureSessionкласс для управления аудио сеансом вместо того, чтобы установить этот режим непосредственно.Доступный в iOS 5.0 и позже.
-
AVAudioSessionModeMeasurementУкажите этот режим, если Ваше приложение выполняет измерение аудиовхода или вывод.
Когда этот режим используется, устройство делает минимальную обработку сигналов на аудио ввода и вывода. Для использования с
AVAudioSessionCategoryPlayback,AVAudioSessionCategoryRecord, илиAVAudioSessionCategoryPlayAndRecordаудио категории сеанса. При записи на устройствах больше чем с одним встроенным микрофоном используется основной микрофон.Доступный в iOS 5.0 и позже.
-
AVAudioSessionModeMoviePlaybackУкажите этот режим, если Ваше приложение воспроизводит содержание фильма.
Когда этот режим используется, обработка сигналов используется для улучшения воспроизведения фильма для определенных аудио маршрутов, таких как встроенный динамик или наушники.
Доступный в iOS 6.0 и позже.
-
AVAudioSessionModeVideoChatУкажите этот режим, если Ваше приложение участвует в онлайновой организации видеоконференций.
Когда этот режим используется, тональная коррекция устройства оптимизирована для речи, и набор допустимых аудио маршрутов сокращен до, только те адаптируют для видео-чата. Для использования с
AVAudioSessionCategoryPlayAndRecordилиAVAudioSessionCategoryRecordаудио категория сеанса. Apple рекомендует использовать Речь, Обрабатывающую Аудиоустройство с этим режимом (см., что Аудиоустройство Размещает Руководство для iOS).Используя этот режим имеет побочный эффект включения
AVAudioSessionCategoryOptionAllowBluetoothопция категории.Доступный в iOS 7.0 и позже.
Обсуждение
Каждое приложение, работающее в iOS, имеет единственный аудио сеанс, поочередно имеющий единственный режим. Режим совершенствовал звуковую конфигурацию устройства согласно цели режима. Измените режим своего аудио сеанса, только если Ваша аудио категория сеанса сконфигурирована для запрещения смешивания с другими приложениями (см.
AVAudioSessionCategoryOptionMixWithOthers); режим применяется к системе в целом, таким образом, приложение, сеанс которого активен и nonmixable, будет обычно обычно управлять режимом для системы. -
-
Константа, указывающая состояние аудио сеанса после прерывания.
Объявление
Swift
struct AVAudioSessionInterruptionOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var OptionShouldResume: AVAudioSessionInterruptionOptions { get } }Objective C
enum { AVAudioSessionInterruptionOptionShouldResume = 1 }; typedef NSUInteger AVAudioSessionInterruptionOptions;Константы
-
OptionShouldResumeAVAudioSessionInterruptionOptionShouldResumeПрерывание другим аудио сеансом закончилось, и приложение может возобновить свой аудио сеанс.
Это значение может присутствовать для
AVAudioSessionInterruptionOptionKeyвведите userInfo словарьAVAudioSessionInterruptionNotificationуведомление, если тип прерыванияAVAudioSessionInterruptionTypeEnded. Это служит подсказкой, что для Вашего приложения подходяще возобновить воспроизведение аудио, не ожидая ввода данных пользователем. Приложения, обычно не требующие, чтобы ввод данных пользователем начал воспроизведение аудио (такое как игры) могут проигнорировать этот флаг и всегда возобновлять воспроизведение после окончания прерывания.Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Флаг, предоставляющий дополнительную информацию об аудио намерениях Вашего приложения активации сеанса или деактивации.
Объявление
Swift
struct AVAudioSessionSetActiveOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var OptionNotifyOthersOnDeactivation: AVAudioSessionSetActiveOptions { get } }Objective C
enum { AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation = 1 }; typedef NSUInteger AVAudioSessionSetActiveOptions;Константы
-
OptionNotifyOthersOnDeactivationAVAudioSessionSetActiveOptionNotifyOthersOnDeactivationКогда передано в
flagsпараметрsetActive:withOptions:error:метод экземпляра, указывает, что, когда Ваш аудио сеанс деактивируется, другие аудио сеансы, прерванные Вашим сеансом, могут возвратиться к их активному состоянию.Этот флаг используется только при деактивации аудио сеанса; т.е. когда Вы передаете значение
NOfalseвbeActiveпараметрsetActive:withOptions:error:метод экземпляра.Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Константы для использования с
overrideOutputAudioPort:error:метод.Объявление
Swift
enum AVAudioSessionPortOverride : UInt { case None case Speaker }Objective C
enum { AVAudioSessionPortOverrideNone = 0, AVAudioSessionPortOverrideSpeaker = 'spkr' }; typedef NSUInteger AVAudioSessionPortOverride;Константы
-
NoneAVAudioSessionPortOverrideNoneНе переопределяйте выходной аудиопорт. Используйте эту опцию направить аудио к выводам системного значения по умолчанию для текущей категории и режима.
Доступный в iOS 6.0 и позже.
-
SpeakerAVAudioSessionPortOverrideSpeakerПереопределите текущие вводы и выводы и направьте аудио к встроенному динамику и микрофону. Только допустимый с
AVAudioSessionCategoryPlayAndRecordкатегория.Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Константы, указывающие причину аудио изменения маршрута.
Объявление
Swift
enum AVAudioSessionRouteChangeReason : UInt { case Unknown case NewDeviceAvailable case OldDeviceUnavailable case CategoryChange case Override case WakeFromSleep case NoSuitableRouteForCategory case RouteConfigurationChange }Objective C
enum { AVAudioSessionRouteChangeReasonUnknown = 0, AVAudioSessionRouteChangeReasonNewDeviceAvailable = 1, AVAudioSessionRouteChangeReasonOldDeviceUnavailable = 2, AVAudioSessionRouteChangeReasonCategoryChange = 3, AVAudioSessionRouteChangeReasonOverride = 4, AVAudioSessionRouteChangeReasonWakeFromSleep = 6, AVAudioSessionRouteChangeReasonNoSuitableRouteForCategory = 7, AVAudioSessionRouteChangeReasonRouteConfigurationChange = 8, }; typedef NSUInteger AVAudioSessionRouteChangeReason;Константы
-
UnknownAVAudioSessionRouteChangeReasonUnknownПричина изменения неизвестна.
Доступный в iOS 6.0 и позже.
-
NewDeviceAvailableAVAudioSessionRouteChangeReasonNewDeviceAvailableПользовательское действие (такое как включение гарнитуры) сделало предпочтительный аудио маршрут доступным.
Доступный в iOS 6.0 и позже.
-
OldDeviceUnavailableAVAudioSessionRouteChangeReasonOldDeviceUnavailableПредыдущий путь аудиовыхода больше не доступен.
Доступный в iOS 6.0 и позже.
-
CategoryChangeAVAudioSessionRouteChangeReasonCategoryChangeКатегория объекта сеанса изменилась. Также используемый, когда сначала активируется сеанс.
Доступный в iOS 6.0 и позже.
-
OverrideAVAudioSessionRouteChangeReasonOverrideВыходной маршрут был переопределен приложением.
Доступный в iOS 6.0 и позже.
-
WakeFromSleepAVAudioSessionRouteChangeReasonWakeFromSleepКогда устройство проснулось от сна, маршрут изменился.
Доступный в iOS 6.0 и позже.
-
NoSuitableRouteForCategoryAVAudioSessionRouteChangeReasonNoSuitableRouteForCategoryМаршрут изменился, потому что никакой подходящий маршрут не теперь доступен для указанной категории.
Доступный в iOS 6.0 и позже.
-
RouteConfigurationChangeAVAudioSessionRouteChangeReasonRouteConfigurationChangeНабор портов ввода и вывода не изменился, но их конфигурация имеет — например, выбранный источник данных порта изменился.
Доступный в iOS 7.0 и позже.
Обсуждение
Эти константы появляются как возможные значения для
AVAudioSessionRouteChangeReasonKeyвведите userInfo словарь в aAVAudioSessionRouteChangeNotificationуведомление.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Константы, описывающие состояние прерывания звука.
Объявление
Swift
enum AVAudioSessionInterruptionType : UInt { case Began case Ended }Objective C
enum { AVAudioSessionInterruptionTypeBegan = 1, AVAudioSessionInterruptionTypeEnded = 0, }; typedef NSUInteger AVAudioSessionInterruptionType;Константы
-
BeganAVAudioSessionInterruptionTypeBeganСистема прервала аудио сеанс.
Доступный в iOS 6.0 и позже.
-
EndedAVAudioSessionInterruptionTypeEndedПрерывание закончилось.
Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
-
Ключи, доступные в пользовательском информационном словаре уведомления прерывания.
Объявление
Swift
let AVAudioSessionInterruptionTypeKey: String let AVAudioSessionInterruptionOptionKey: String let AVAudioSessionRouteChangeReasonKey: String let AVAudioSessionRouteChangePreviousRouteKey: String let AVAudioSessionSilenceSecondaryAudioHintTypeKey: StringObjective C
NSString *const AVAudioSessionInterruptionTypeKey; NSString *const AVAudioSessionInterruptionOptionKey; NSString *const AVAudioSessionRouteChangeReasonKey; NSString *const AVAudioSessionRouteChangePreviousRouteKey; NSString *const AVAudioSessionSilenceSecondaryAudioHintTypeKey;Константы
-
AVAudioSessionInterruptionTypeKeyNSNumberобъект, содержащий целое без знака, идентифицирующее тип прерывания. Для списка возможных значений посмотрите“AVAudioSessionInterruptionType”.Доступный в iOS 6.0 и позже.
-
AVAudioSessionInterruptionOptionKeyNSNumberобъект, содержащий целое без знака, идентифицирующее любые опции, связанные с прерыванием. Для списка возможных флагов посмотрите“AVAudioSessionInterruptionOptions”.Доступный в iOS 6.0 и позже.
-
AVAudioSessionRouteChangeReasonKeyNSNumberобъект, содержащий целое без знака, идентифицирующее причину, почему изменился маршрут. Для списка возможных значений посмотрите“AVAudioSessionRouteChangeReason”.Доступный в iOS 6.0 и позже.
-
AVAudioSessionRouteChangePreviousRouteKeyAVAudioSessionRouteDescriptionобъект, описывающий аудио настройки маршрута до изменения маршрута.Доступный в iOS 6.0 и позже.
-
AVAudioSessionSilenceSecondaryAudioHintTypeKeyAVAudioSessionRouteDescriptionобъект, описывающий вторичные аудио подсказки. ПосмотритеAVAudioSessionSilenceSecondaryAudioHintTypeдля поддерживаемых значений.Доступный в iOS 8.0 и позже.
-
-
Константы, указывающие состояние аудио сеанса после прерывания.
Используйте константы в
“AVAudioSessionInterruptionOptions”вместо этого.Объявление
Swift
var AVAudioSessionInterruptionFlags_ShouldResume: Int { get }Objective C
enum { AVAudioSessionInterruptionFlags_ShouldResume = 1 };Константы
-
AVAudioSessionInterruptionFlags_ShouldResumeУказывает, что Ваш аудио сеанс активен и сразу готов использоваться. Ваше приложение может возобновить прерванную операцию передачи.
Использовать
AVAudioSessionInterruptionOptionShouldResumeвместо этого.Ищите этот флаг в
flagsпараметр, когда Ваш аудио делегат сеансаendInterruptionWithFlags:метод вызывается.Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 6.0.
-
-
Флаги, предоставляющие дополнительную информацию об аудио намерениях Вашего приложения активации сеанса или деактивации.
Используйте константы в
“AVAudioSessionSetActiveOptions”вместо этого.Объявление
Swift
var AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation: Int { get }Objective C
enum { AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation = 1 };Константы
-
AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivationКогда передано в
flagsпараметрsetActive:withFlags:error:метод экземпляра, указывает, что, когда Ваш аудио сеанс деактивируется, другие аудио сеансы, прерванные Вашим сеансом, могут возвратиться к их активному состоянию.Использовать
AVAudioSessionSetActiveOptionNotifyOthersOnDeactivationвместо этого.Этот флаг используется только при деактивации аудио сеанса; т.е. когда Вы передаете значение
NOfalseвbeActiveпараметрsetActive:withFlags:error:метод экземпляра.Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 6.0.
-
-
Коды ошибки, используемые в
NSErrorобъекты, возвращенныеAVAudioSessionметоды.Объявление
Swift
enum AVAudioSessionErrorCode : Int { case CodeNone case CodeMediaServicesFailed case CodeIsBusy case CodeIncompatibleCategory case CodeCannotInterruptOthers case CodeMissingEntitlement case CodeSiriIsRecording case CodeCannotStartPlaying case CodeCannotStartRecording case CodeBadParam case InsufficientPriority case CodeUnspecified }Objective C
enum { AVAudioSessionErrorCodeNone = 0, AVAudioSessionErrorCodeMediaServicesFailed = 'msrv', AVAudioSessionErrorCodeIsBusy = '!act', AVAudioSessionErrorCodeIncompatibleCategory = '!cat', AVAudioSessionErrorCodeCannotInterruptOthers = '!int', AVAudioSessionErrorCodeMissingEntitlement = 'ent?', AVAudioSessionErrorCodeSiriIsRecording = 'siri', AVAudioSessionErrorCodeCannotStartPlaying = '!pla', AVAudioSessionErrorCodeCannotStartRecording = '!rec', AVAudioSessionErrorCodeBadParam = -50, AVAudioSessionErrorInsufficientPriority = '!pri', AVAudioSessionErrorCodeUnspecified = 'what' }; typedef NSInteger AVAudioSessionErrorCode;Константы
-
CodeNoneAVAudioSessionErrorCodeNoneРабота успешно выполнилась.
Доступный в iOS 7.0 и позже.
-
CodeMediaServicesFailedAVAudioSessionErrorCodeMediaServicesFailedПопытка была предпринята для использования аудио сеанса во время или после отказа Мультимедийных служб.
Посмотрите
“Media Services Availability”для получения дополнительной информации.Доступный в iOS 7.0 и позже.
-
CodeIsBusyAVAudioSessionErrorCodeIsBusyПопытка была предпринята для установки ее аудио неактивного сеанса, но она все еще активно играет и/или записывает.
Доступный в iOS 7.0 и позже.
-
CodeIncompatibleCategoryAVAudioSessionErrorCodeIncompatibleCategoryПопытка была предпринята для выполнения работы, не разрешенной в ее текущей категории.
Например, если Вы вызываете, этот ошибочный тип может произойти
setPreferredInputNumberOfChannels:error:в то время как категория сеанса установлена вAVAudioSessionCategoryPlayback.Доступный в iOS 7.0 и позже.
-
CodeCannotInterruptOthersAVAudioSessionErrorCodeCannotInterruptOthersВ то время как приложение было в фоновом режиме, была предпринята попытка для создания nonmixable аудио сеанса активным.
Доступный в iOS 7.0 и позже.
-
CodeMissingEntitlementAVAudioSessionErrorCodeMissingEntitlementПопытка была предпринята для выполнения работы, для которой приложение не имеет требуемых прав.
Доступный в iOS 7.0 и позже.
-
CodeSiriIsRecordingAVAudioSessionErrorCodeSiriIsRecordingПопытка была предпринята для выполнения работы, не позволяющейся, в то время как Siri записывает.
Доступный в iOS 7.0 и позже.
-
CodeCannotStartPlayingAVAudioSessionErrorCodeCannotStartPlayingПопытка была предпринята для запуска воспроизведения аудио, но не позволяется воспроизведение.
Этот ошибочный тип может произойти, если информационный список свойств приложения не разрешает аудио использование, или если приложение в фоновом режиме и использование категории, не позволяющей фоновое аудио.
Доступный в iOS 7.0 и позже.
-
CodeCannotStartRecordingAVAudioSessionErrorCodeCannotStartRecordingПопытка была предпринята для запуска аудиозаписи, но отказавшей.
Этот ошибочный тип обычно, потому что это запускает mixable запись с фона и не является приложением Аудио Межприложения.
Доступный в iOS 7.0 и позже.
-
CodeBadParamAVAudioSessionErrorCodeBadParamПопытка была предпринята для установки свойства в недопустимое значение.
Доступный в iOS 7.0 и позже.
-
InsufficientPriorityAVAudioSessionErrorInsufficientPriorityПриложению не позволили установить аудио категорию, потому что это используется другим приложением.
Доступный в iOS 7.0 и позже.
-
CodeUnspecifiedAVAudioSessionErrorCodeUnspecifiedНикакая дальнейшая информация об ошибке не доступна. Когда аудиосистема находится в противоречивом состоянии, этот ошибочный тип обычно заканчивается.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
-
Значения, определяющие типы порта, относящиеся к любому вводу или выводу.
Объявление
Swift
let AVAudioSessionPortBluetoothHFP: String let AVAudioSessionPortUSBAudio: String let AVAudioSessionPortCarAudio: StringObjective C
NSString *const AVAudioSessionPortBluetoothHFP; NSString *const AVAudioSessionPortUSBAudio; NSString *const AVAudioSessionPortCarAudio;Константы
-
AVAudioSessionPortBluetoothHFPВвод или вывод на Bluetooth Оставляющее руки свободными устройство Профиля.
Доступный в iOS 6.0 и позже.
-
AVAudioSessionPortUSBAudioВвод или вывод на устройстве Универсальной последовательной шины.
Доступный в iOS 6.0 и позже.
-
AVAudioSessionPortCarAudioВвод или вывод через Автоаудио.
Доступный в iOS 7.0 и позже.
-
-
Значения, определяющие текущее состояние рекордного запроса разрешения.
Объявление
Swift
struct AVAudioSessionRecordPermission : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var Undetermined: AVAudioSessionRecordPermission { get } static var Denied: AVAudioSessionRecordPermission { get } static var Granted: AVAudioSessionRecordPermission { get } }Objective C
enum { AVAudioSessionRecordPermissionUndetermined = 'undt', AVAudioSessionRecordPermissionDenied = 'deny', AVAudioSessionRecordPermissionGranted = 'grnt' }; typedef NSUInteger AVAudioSessionRecordPermission;Константы
-
UndeterminedAVAudioSessionRecordPermissionUndeterminedЗапись разрешения не предоставили или отклонили. Это обычно означает, что разрешение нужно все же требовать или находится в процессе того, чтобы быть требуемым.
Доступный в iOS 8.0 и позже.
-
DeniedAVAudioSessionRecordPermissionDeniedЗапись разрешения была отклонена.
Доступный в iOS 8.0 и позже.
-
GrantedAVAudioSessionRecordPermissionGrantedЗапись разрешения предоставили.
Доступный в iOS 8.0 и позже.
Обсуждение
Эти значения возвращаются
recordPermissionметод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 8.0 и позже.
-
-
Эти константы возвращаются
AVAudioSessionSilenceSecondaryAudioHintTypeуказать, должно ли дополнительное вторичное аудио отключение звука начаться или закончитьсяОбъявление
Swift
enum AVAudioSessionSilenceSecondaryAudioHintType : UInt { case Begin case End }Objective C
enum { AVAudioSessionSilenceSecondaryAudioHintTypeBegin = 1, AVAudioSessionSilenceSecondaryAudioHintTypeEnd = 0 }; typedef NSUInteger AVAudioSessionSilenceSecondaryAudioHintType;Константы
-
BeginAVAudioSessionSilenceSecondaryAudioHintTypeBeginСистема указывает, что запустилось основное аудио другого приложения.
Доступный в iOS 8.0 и позже.
-
EndAVAudioSessionSilenceSecondaryAudioHintTypeEndСистема указывает, что остановилось основное аудио другого приложения.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 8.0 и позже.
-
-
Отправленный на основном потоке, когда происходит прерывание звука.
userInfoсловарь этого уведомления содержитAVAudioSessionInterruptionTypeKey. Если тип прерыванияAVAudioSessionInterruptionTypeBegan, аудио сеанс приложения был прерван и больше не активен. Если тип прерыванияAVAudioSessionInterruptionTypeEnded, этот словарь также содержитAVAudioSessionInterruptionOptionKeyключ.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
Отправленный на основном потоке, когда аудио изменения маршрута системы.
userInfoсловарь этого уведомления содержитAVAudioSessionRouteChangeReasonKeyиAVAudioSessionRouteChangePreviousRouteKeyключи, предоставляющие информацию об изменении маршрута.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
Отправленный на основном потоке, когда завершается медиасервер.
Используйте это уведомление в качестве сигнала для предпринятия любых надлежащих шагов для обрабатывания запросов, входящих перед перезапусками сервера. Большинство приложений не должно подписываться на это уведомление и должно подписаться на
AVAudioSessionMediaServicesWereResetNotificationуведомление вместо этого.Это уведомление имеет нет
userInfoсловарь.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
Отправленный на основном потоке, когда медиасервер перезапускает.
Подпишитесь на это уведомление, чтобы гарантировать, что Ваше приложение восстанавливается, как предназначено, если медиасервер перезапускает. Посмотрите
“Media Services Availability”для подробных данных.Это уведомление имеет нет
userInfoсловарь.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
AVAudioSessionSilenceSecondaryAudioHintNotification AVAudioSessionSilenceSecondaryAudioHintNotificationОтправленный на основном потоке, когда основное аудио из других приложений запускается и останавливается.
Подпишитесь на это уведомление, чтобы гарантировать, что Ваше приложение уведомляется, когда дополнительное вторичное аудио отключение звука должно начаться или закончиться.
Это уведомление
userInfoсловарь содержит aAVAudioSessionSilenceSecondaryAudioHintTypeзначение дляAVAudioSessionSilenceSecondaryAudioHintTypeKey.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 8.0 и позже.
