AVAudioSession
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 3.0 и позже.
Экземпляр AVAudioSession
класс, названный аудио сеансом, является одноэлементным объектом, что Вы используете для установки аудио контекста для приложения.
Используйте этот класс:
Активируйте или деактивируйте аудио сеанс своего приложения
Приведите в порядок аудио категорию сеанса и режим для передачи с системой, как Вы намереваетесь использовать аудио в своем приложении
Сконфигурируйте параметры звука, такие как частота дискретизации, буферная продолжительность I/O и число каналов
Обработайте аудио изменения маршрута
Реагируйте на важные аудио события, такие как изменения в доступности базового демона Мультимедийных служб
Конфигурирование аудио сеанса
Совместно используемый аудио объект сеанса выступает в качестве посредника между Вашим приложением и демоном мультимедийных служб системы (и, в свою очередь, базовые аудио аппаратные средства). Мультимедийная служба подвергается запросам из других приложений — некоторые из которых могут иметь более высокий приоритет, чем аудио потребности Вашего приложения, такие как обработка телефонного вызова. Из-за посреднической роли, которую играет демон мультимедийных служб, Ваше приложение непосредственно не управляет определенными параметрами звука; вместо этого, Вы запрашиваете предпочтенные значения на эти настройки и наблюдаете свойства относительно AVAudioSession
объект (или связанный порт и объекты источника данных), чтобы видеть, ли, когда, и до какой степени Ваши запросы вступают в силу.
Например, для определения номера каналов вывода делают следующее:
Вызвать
setPreferredOutputNumberOfChannels:error:
с предложенным числом каналов.Если возвращается тот метод
YES
true
, Ваш запрос был принят. Иначе, исследуйте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() -> AVAudioSessionRecordPermission
Objective 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
.Возвращаемое значение
YES
true
если категория и опции были установлены успешно, илиNO
false
иначе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 3.0 и позже.
См. также
-
Устанавливает аудио категорию сеанса с указанными опциями.
Объявление
Swift
func setCategory(_
category
: String!, withOptionsoptions
: AVAudioSessionCategoryOptions, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)setCategory:(NSString *)
category
withOptions:(AVAudioSessionCategoryOptions)options
error:(NSError **)outError
Параметры
category
Аудио категория сеанса для применения к аудио сеансу. Для списка значений посмотрите Аудио Категории Сеанса.
options
Маска дополнительных опций для обработки аудио. Для списка констант посмотрите AVAudioSessionCategoryOptions
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если категория и опции были установлены успешно, илиNO
false
иначе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Оператор импорта
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
.Возвращаемое значение
Возвраты
YES
true
на успехе илиNO
false
при отказе.Обсуждение
Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.
Посмотрите Аудио Режимы Сеанса для обсуждения режимов и их эффектов.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 5.0 и позже.
-
Активирует или деактивировал аудио сеанс Вашего приложения.
Объявление
Swift
func setActive(_
beActive
: Bool, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)setActive:(BOOL)
beActive
error:(NSError **)outError
Параметры
beActive
Использовать
YES
true
активировать аудио сеанс Вашего приложения, илиNO
false
деактивировать его.outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если активное состояние сеанса было изменено успешно, илиNO
false
если это не было.Обсуждение
Если другой активный аудио сеанс имеет более высокий приоритет, чем Ваш (например, телефонный вызов), и никакой аудио сеанс не позволяет смешиваться, пытаясь активировать Ваши аудио сбои сеанса. Деактивация Вашего сеанса перестанет работать, если какое-либо связанное аудио возразит (такие как очереди, преобразователи, проигрыватели или устройства записи) в настоящее время работают.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 3.0 и позже.
-
Активирует или деактивировал аудио сеанс Вашего приложения с помощью указанных опций.
Объявление
Swift
func setActive(_
active
: Bool, withOptionsoptions
: AVAudioSessionSetActiveOptions, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)setActive:(BOOL)
active
withOptions:(AVAudioSessionSetActiveOptions)options
error:(NSError **)outError
Параметры
active
Указать
YES
true
активировать аудио сеанс Вашего приложения, илиNO
false
деактивировать его.options
Целочисленная битовая маска, содержащая одну или более констант от перечисления AVAudioSessionSetActiveOptions.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если активное состояние сеанса было изменено успешно, илиNO
false
если это не было.Обсуждение
Если другой активный аудио сеанс имеет более высокий приоритет, чем Ваш (например, телефонный вызов), и никакой аудио сеанс не позволяет смешиваться, пытаясь активировать Ваши аудио сбои сеанса. Деактивация Вашего сеанса перестанет работать, если какое-либо связанное аудио возразит (такие как очереди, преобразователи, проигрыватели или устройства записи) в настоящее время работают.
Оператор импорта
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
Обсуждение
Возвраты
YES
true
если устройство позволяет входному усилению быть измененным, илиNO
false
иначе. Не все устройства поддерживают переменный коэффициент усиления, проверяют это свойство прежде, чем попытаться установить входное усиление.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Изменяет входное усиление на указанное значение.
Объявление
Swift
func setInputGain(_
gain
: Float, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)setInputGain:(float)
gain
error:(NSError **)outError
Параметры
gain
Новое значение усиления, которое должно быть в диапазоне
0.0
к1.0
, где0.0
представляет самую низкую установку усиления и1.0
представляет самую высокую установку усиления.outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если новое значение усиления было установлено успешно,NO
false
если это не было.Обсуждение
Прежде, чем вызвать этот метод, регистрируйте значение
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)
sampleRate
error:(NSError **)outError
Параметры
sampleRate
Аппаратная частота дискретизации для использования. Доступный диапазон для аппаратной частоты дискретизации зависим от устройств. Это обычно колеблется от 8 000 до 48 000 герц.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если запрос был успешно выполнен, илиNO
false
иначе.Обсуждение
Этот метод запрашивает изменение в частоте дискретизации звука ввода и вывода. Для наблюдения эффекта этого изменения используйте
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)
duration
error:(NSError **)outError
Параметры
duration
Аудио I/O буферизует продолжительность в секундах, которые Вы хотите использовать.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если запрос был успешно выполнен, илиNO
false
иначе.Обсуждение
Этот метод запрашивает изменение в буферной продолжительности 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
Обсуждение
Значение
YES
true
когда другое приложение с 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
.Возвращаемое значение
YES
true
если запрос был успешно выполнен, илиNO
false
иначе.Обсуждение
Этот метод запрашивает изменение в числе каналов ввода. Чтобы определить, вступает ли изменение в силу, используйте
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
.Возвращаемое значение
YES
true
если запрос был успешно выполнен, илиNO
false
иначе.Обсуждение
Этот метод запрашивает изменение в числе каналов вывода. Чтобы определить, вступает ли изменение в силу, используйте
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
Обсуждение
YES
true
если входной маршрут доступен, илиNO
false
иначе.Используйте это свойство, чтобы определить, поддерживает ли устройство в настоящее время аудиовход.
Оператор импорта
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)
portOverride
error:(NSError **)outError
Параметры
portOverride
Опция переопределения для вывода. Для списка констант посмотрите
“AVAudioSessionPortOverride”
.outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если новый параметр маршрутизации был установлен успешно, илиNO
false
если это не было.Обсуждение
Вызов этого метода с
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 *)
inPort
error:(NSError **)outError
Параметры
inPort
AVAudioSessionPortDescription
объект, описывающий порт для использования для ввода.outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если запрос был успешно выполнен, илиNO
false
иначе.Обсуждение
Установка предпочтительного входного порта запрашивает изменение во входном маршруте аудио. Чтобы определить, вступает ли изменение в силу, используйте
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 *)
dataSource
error:(NSError **)outError
Параметры
dataSource
Источник данных для ввода аудио сеанса.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если был успешно присвоен входной источник данных для аудио сеанса; иначе,NO
false
.Обсуждение
Можно изменить входной источник на всего один из
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 *)
dataSource
error:(NSError **)outError
Параметры
dataSource
Источник данных для вывода аудио сеанса.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
YES
true
если был успешно присвоен источник выходных данных для аудио сеанса; иначе,NO
false
.Обсуждение
Можно изменить выходной источник на один из
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)
sampleRate
error:(NSError **)outError
Параметры
sampleRate
Аппаратная частота дискретизации Вы хотите использовать. Доступный диапазон для аппаратной частоты дискретизации зависим от устройств.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
Возвраты
YES
true
на успехе илиNO
false
при отказе.Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
Булево значение, указывающее, доступен ли аппаратный путь аудиовхода (
YES
true
), или не (NO
false
). (только для чтения)Оператор осуждения
Использовать
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
Использовать
YES
true
активировать аудио сеанс Вашего приложения илиNO
false
деактивировать его.flags
Растровое значение, содержащее один или несколько флагов от перечисления Флагов Активации.
outError
На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в
NSError
объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте вnil
.Возвращаемое значение
Возвраты
YES
true
на успехе илиNO
false
при отказе.Обсуждение
Если активный аудио сеанс другого приложения имеет более высокий приоритет, чем Ваше приложение, и что другой аудио сеанс не позволяет смешиваться с другими приложениями, пытание активировать Ваш аудио сеанс может перестать работать.
Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.0 и позже.
Осуждаемый в iOS 6.0.
Типы данных
-
Когда пользователь реагирует на подсказку для записи разрешения, подпись для блока выполнилась.
Объявление
Swift
typealias PermissionBlock = (Bool) -> Void
Objective C
typedef void (^PermissionBlock)(BOOL granted)
Обсуждение
Блок берет единственный параметр:
granted
YES
true
если пользователь явно дал разрешение приложения для аудиозаписи;NO
false
если пользователь отклонил разрешение.Этот тип блока используется
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: String
Objective 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;
Константы
-
MixWithOthers
AVAudioSessionCategoryOptionMixWithOthers
Аудио смесей от этого сеанса с аудио от других активных сеансов.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecord
илиAVAudioSessionCategoryPlayback
. (Неявный, если категория сеансаAVAudioSessionCategoryAmbient
.)При активации сеанса при использовании этой опции аудио приложения не прервет аудио из других приложений (таких как Музыкальное приложение). не использование этой опции (или категория, активируя Ваш сеанс прервет другие nonmixable сеансы, которая неявно mixable)
Доступный в iOS 6.0 и позже.
-
DuckOthers
AVAudioSessionCategoryOptionDuckOthers
Аудио причин от других сеансов, которые будут наклонены (сокращенный в объеме), в то время как аудио от этого сеанса игры.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecord
илиAVAudioSessionCategoryPlayback
.Используйте эту опцию, если Вы хотите, чтобы аудио от Вашего приложения (например, речевые подсказки в приложении навигации) было услышано по музыке или другому в настоящее время аудио игры. Обратите внимание на то, что ныряние начинается при активации аудио сеанса и концов приложения при деактивации сеанса.
Доступный в iOS 6.0 и позже.
-
AllowBluetooth
AVAudioSessionCategoryOptionAllowBluetooth
Позволяет Bluetooth оставляющие руки свободными устройства для появления как доступные входные маршруты.
Допустимый, только если категория сеанса
AVAudioSessionCategoryPlayAndRecord
илиAVAudioSessionCategoryRecord
.Доступный в iOS 6.0 и позже.
-
DefaultToSpeaker
AVAudioSessionCategoryOptionDefaultToSpeaker
Аудио маршрутов с сеанса на встроенный динамик по умолчанию.
Допустимый, только если категория сеанса
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: String
Objective 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;
Константы
-
OptionShouldResume
AVAudioSessionInterruptionOptionShouldResume
Прерывание другим аудио сеансом закончилось, и приложение может возобновить свой аудио сеанс.
Это значение может присутствовать для
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;
Константы
-
OptionNotifyOthersOnDeactivation
AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation
Когда передано в
flags
параметрsetActive:withOptions:error:
метод экземпляра, указывает, что, когда Ваш аудио сеанс деактивируется, другие аудио сеансы, прерванные Вашим сеансом, могут возвратиться к их активному состоянию.Этот флаг используется только при деактивации аудио сеанса; т.е. когда Вы передаете значение
NO
false
в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;
Константы
-
None
AVAudioSessionPortOverrideNone
Не переопределяйте выходной аудиопорт. Используйте эту опцию направить аудио к выводам системного значения по умолчанию для текущей категории и режима.
Доступный в iOS 6.0 и позже.
-
Speaker
AVAudioSessionPortOverrideSpeaker
Переопределите текущие вводы и выводы и направьте аудио к встроенному динамику и микрофону. Только допустимый с
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;
Константы
-
Unknown
AVAudioSessionRouteChangeReasonUnknown
Причина изменения неизвестна.
Доступный в iOS 6.0 и позже.
-
NewDeviceAvailable
AVAudioSessionRouteChangeReasonNewDeviceAvailable
Пользовательское действие (такое как включение гарнитуры) сделало предпочтительный аудио маршрут доступным.
Доступный в iOS 6.0 и позже.
-
OldDeviceUnavailable
AVAudioSessionRouteChangeReasonOldDeviceUnavailable
Предыдущий путь аудиовыхода больше не доступен.
Доступный в iOS 6.0 и позже.
-
CategoryChange
AVAudioSessionRouteChangeReasonCategoryChange
Категория объекта сеанса изменилась. Также используемый, когда сначала активируется сеанс.
Доступный в iOS 6.0 и позже.
-
Override
AVAudioSessionRouteChangeReasonOverride
Выходной маршрут был переопределен приложением.
Доступный в iOS 6.0 и позже.
-
WakeFromSleep
AVAudioSessionRouteChangeReasonWakeFromSleep
Когда устройство проснулось от сна, маршрут изменился.
Доступный в iOS 6.0 и позже.
-
NoSuitableRouteForCategory
AVAudioSessionRouteChangeReasonNoSuitableRouteForCategory
Маршрут изменился, потому что никакой подходящий маршрут не теперь доступен для указанной категории.
Доступный в iOS 6.0 и позже.
-
RouteConfigurationChange
AVAudioSessionRouteChangeReasonRouteConfigurationChange
Набор портов ввода и вывода не изменился, но их конфигурация имеет — например, выбранный источник данных порта изменился.
Доступный в 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;
Константы
-
Began
AVAudioSessionInterruptionTypeBegan
Система прервала аудио сеанс.
Доступный в iOS 6.0 и позже.
-
Ended
AVAudioSessionInterruptionTypeEnded
Прерывание закончилось.
Доступный в 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: String
Objective C
NSString *const AVAudioSessionInterruptionTypeKey; NSString *const AVAudioSessionInterruptionOptionKey; NSString *const AVAudioSessionRouteChangeReasonKey; NSString *const AVAudioSessionRouteChangePreviousRouteKey; NSString *const AVAudioSessionSilenceSecondaryAudioHintTypeKey;
Константы
-
AVAudioSessionInterruptionTypeKey
NSNumber
объект, содержащий целое без знака, идентифицирующее тип прерывания. Для списка возможных значений посмотрите“AVAudioSessionInterruptionType”
.Доступный в iOS 6.0 и позже.
-
AVAudioSessionInterruptionOptionKey
NSNumber
объект, содержащий целое без знака, идентифицирующее любые опции, связанные с прерыванием. Для списка возможных флагов посмотрите“AVAudioSessionInterruptionOptions”
.Доступный в iOS 6.0 и позже.
-
AVAudioSessionRouteChangeReasonKey
NSNumber
объект, содержащий целое без знака, идентифицирующее причину, почему изменился маршрут. Для списка возможных значений посмотрите“AVAudioSessionRouteChangeReason”
.Доступный в iOS 6.0 и позже.
-
AVAudioSessionRouteChangePreviousRouteKey
AVAudioSessionRouteDescription
объект, описывающий аудио настройки маршрута до изменения маршрута.Доступный в iOS 6.0 и позже.
-
AVAudioSessionSilenceSecondaryAudioHintTypeKey
AVAudioSessionRouteDescription
объект, описывающий вторичные аудио подсказки. Посмотрите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
вместо этого.Этот флаг используется только при деактивации аудио сеанса; т.е. когда Вы передаете значение
NO
false
в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;
Константы
-
CodeNone
AVAudioSessionErrorCodeNone
Работа успешно выполнилась.
Доступный в iOS 7.0 и позже.
-
CodeMediaServicesFailed
AVAudioSessionErrorCodeMediaServicesFailed
Попытка была предпринята для использования аудио сеанса во время или после отказа Мультимедийных служб.
Посмотрите
“Media Services Availability”
для получения дополнительной информации.Доступный в iOS 7.0 и позже.
-
CodeIsBusy
AVAudioSessionErrorCodeIsBusy
Попытка была предпринята для установки ее аудио неактивного сеанса, но она все еще активно играет и/или записывает.
Доступный в iOS 7.0 и позже.
-
CodeIncompatibleCategory
AVAudioSessionErrorCodeIncompatibleCategory
Попытка была предпринята для выполнения работы, не разрешенной в ее текущей категории.
Например, если Вы вызываете, этот ошибочный тип может произойти
setPreferredInputNumberOfChannels:error:
в то время как категория сеанса установлена вAVAudioSessionCategoryPlayback
.Доступный в iOS 7.0 и позже.
-
CodeCannotInterruptOthers
AVAudioSessionErrorCodeCannotInterruptOthers
В то время как приложение было в фоновом режиме, была предпринята попытка для создания nonmixable аудио сеанса активным.
Доступный в iOS 7.0 и позже.
-
CodeMissingEntitlement
AVAudioSessionErrorCodeMissingEntitlement
Попытка была предпринята для выполнения работы, для которой приложение не имеет требуемых прав.
Доступный в iOS 7.0 и позже.
-
CodeSiriIsRecording
AVAudioSessionErrorCodeSiriIsRecording
Попытка была предпринята для выполнения работы, не позволяющейся, в то время как Siri записывает.
Доступный в iOS 7.0 и позже.
-
CodeCannotStartPlaying
AVAudioSessionErrorCodeCannotStartPlaying
Попытка была предпринята для запуска воспроизведения аудио, но не позволяется воспроизведение.
Этот ошибочный тип может произойти, если информационный список свойств приложения не разрешает аудио использование, или если приложение в фоновом режиме и использование категории, не позволяющей фоновое аудио.
Доступный в iOS 7.0 и позже.
-
CodeCannotStartRecording
AVAudioSessionErrorCodeCannotStartRecording
Попытка была предпринята для запуска аудиозаписи, но отказавшей.
Этот ошибочный тип обычно, потому что это запускает mixable запись с фона и не является приложением Аудио Межприложения.
Доступный в iOS 7.0 и позже.
-
CodeBadParam
AVAudioSessionErrorCodeBadParam
Попытка была предпринята для установки свойства в недопустимое значение.
Доступный в iOS 7.0 и позже.
-
InsufficientPriority
AVAudioSessionErrorInsufficientPriority
Приложению не позволили установить аудио категорию, потому что это используется другим приложением.
Доступный в iOS 7.0 и позже.
-
CodeUnspecified
AVAudioSessionErrorCodeUnspecified
Никакая дальнейшая информация об ошибке не доступна. Когда аудиосистема находится в противоречивом состоянии, этот ошибочный тип обычно заканчивается.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 7.0 и позже.
-
-
Значения, определяющие типы порта, относящиеся к любому вводу или выводу.
Объявление
Swift
let AVAudioSessionPortBluetoothHFP: String let AVAudioSessionPortUSBAudio: String let AVAudioSessionPortCarAudio: String
Objective 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;
Константы
-
Undetermined
AVAudioSessionRecordPermissionUndetermined
Запись разрешения не предоставили или отклонили. Это обычно означает, что разрешение нужно все же требовать или находится в процессе того, чтобы быть требуемым.
Доступный в iOS 8.0 и позже.
-
Denied
AVAudioSessionRecordPermissionDenied
Запись разрешения была отклонена.
Доступный в iOS 8.0 и позже.
-
Granted
AVAudioSessionRecordPermissionGranted
Запись разрешения предоставили.
Доступный в 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;
Константы
-
Begin
AVAudioSessionSilenceSecondaryAudioHintTypeBegin
Система указывает, что запустилось основное аудио другого приложения.
Доступный в iOS 8.0 и позже.
-
End
AVAudioSessionSilenceSecondaryAudioHintTypeEnd
Система указывает, что остановилось основное аудио другого приложения.
Доступный в 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 и позже.