Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы AVFoundation ссылка класса AVAudioSession

Опции
Развертывание Target:

На этой странице
Язык:

AVAudioSession

Наследование


Соответствует


Оператор импорта


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в iOS 3.0 и позже.

Экземпляр AVAudioSession класс, названный аудио сеансом, является одноэлементным объектом, что Вы используете для установки аудио контекста для приложения.

Используйте этот класс:

  • Активируйте или деактивируйте аудио сеанс своего приложения

  • Приведите в порядок аудио категорию сеанса и режим для передачи с системой, как Вы намереваетесь использовать аудио в своем приложении

  • Сконфигурируйте параметры звука, такие как частота дискретизации, буферная продолжительность I/O и число каналов

  • Обработайте аудио изменения маршрута

  • Реагируйте на важные аудио события, такие как изменения в доступности базового демона Мультимедийных служб

Конфигурирование аудио сеанса

Совместно используемый аудио объект сеанса выступает в качестве посредника между Вашим приложением и демоном мультимедийных служб системы (и, в свою очередь, базовые аудио аппаратные средства). Мультимедийная служба подвергается запросам из других приложений — некоторые из которых могут иметь более высокий приоритет, чем аудио потребности Вашего приложения, такие как обработка телефонного вызова. Из-за посреднической роли, которую играет демон мультимедийных служб, Ваше приложение непосредственно не управляет определенными параметрами звука; вместо этого, Вы запрашиваете предпочтенные значения на эти настройки и наблюдаете свойства относительно AVAudioSession объект (или связанный порт и объекты источника данных), чтобы видеть, ли, когда, и до какой степени Ваши запросы вступают в силу.

Например, для определения номера каналов вывода делают следующее:

  1. Вызвать setPreferredOutputNumberOfChannels:error: с предложенным числом каналов.

  2. Если возвращается тот метод YEStrue, Ваш запрос был принят. Иначе, исследуйте NSError параметр для нахождения причины ошибки.

    Даже если Ваш запрос был принят, число каналов, которые Вы предложили, может не быть доступным, или изменение не могло бы сразу вступить в силу.

  3. Исследуйте значение 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 и позже.

    См. также

    – recordPermission

  • Текущее состояние разрешения записи.

    Объявление

    Swift

    func recordPermission() -> AVAudioSessionRecordPermission

    Objective C

    - (AVAudioSessionRecordPermission)recordPermission

    Возвращаемое значение

    Возвраты одно из трех состояний:

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.

  • category Свойство

    Аудио категория сеанса. (только для чтения)

    Объявление

    Swift

    var category: String! { get }

    Objective C

    @property(readonly) NSString *category

    Обсуждение

    Аудио категория сеанса идентифицирует ряд аудио способов поведения для Вашего приложения.

    Возможные значения описаны в Аудио Категориях Сеанса). Категория по умолчанию AVAudioSessionCategorySoloAmbient.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    – setCategory:error:

  • 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!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setCategory:(NSString *)theCategory error:(NSError **)outError

    Параметры

    theCategory

    Аудио категория сеанса для применения к аудио сеансу. Посмотрите Аудио Категории Сеанса.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    YEStrue если категория и опции были установлены успешно, или NOfalse иначе.

    Обсуждение

    Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    категория

  • Устанавливает аудио категорию сеанса с указанными опциями.

    Объявление

    Swift

    func setCategory(_ category: String!, withOptions options: AVAudioSessionCategoryOptions, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setCategory:(NSString *)category withOptions:(AVAudioSessionCategoryOptions)options error:(NSError **)outError

    Параметры

    category

    Аудио категория сеанса для применения к аудио сеансу. Для списка значений посмотрите Аудио Категории Сеанса.

    options

    Маска дополнительных опций для обработки аудио. Для списка констант посмотрите AVAudioSessionCategoryOptions

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    YEStrue если категория и опции были установлены успешно, или NOfalse иначе.

    Обсуждение

    Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 6.0 и позже.

  • mode Свойство

    Аудио режим сеанса. (только для чтения)

    Объявление

    Swift

    var mode: String! { get }

    Objective C

    @property(readonly) NSString *mode

    Обсуждение

    Одна из констант перечислила в Аудио Режимах Сеанса, который вместе с категорией аудио сеанса указывает к системе, как Вы намереваетесь использовать аудио в своем приложении. Можно использовать режим для конфигурирования аудиосистемы для определенных вариантов использования, таких как видеозапись, голосовой чат или видео-чат или проводящие измерения. Режим по умолчанию AVAudioSessionModeDefault.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 5.0 и позже.

  • Устанавливает аудио режим сеанса.

    Объявление

    Swift

    func setMode(_ theMode: String!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setMode:(NSString *)theMode error:(NSError **)outError

    Параметры

    theMode

    Аудио режим сеанса для применения к аудио сеансу.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    Возвраты YEStrue на успехе или NOfalse при отказе.

    Обсуждение

    Категория и режим сеанса вместе определяют, как приложение намеревается использовать аудио. Как правило, Вы устанавливаете категорию и режим прежде, чем активировать сеанс. Можно также установить категорию или режим, в то время как сеанс активен, но это приводит к непосредственному изменению маршрута.

    Посмотрите Аудио Режимы Сеанса для обсуждения режимов и их эффектов.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 5.0 и позже.

  • Активирует или деактивировал аудио сеанс Вашего приложения.

    Объявление

    Swift

    func setActive(_ beActive: Bool, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setActive:(BOOL)beActive error:(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, withOptions options: AVAudioSessionSetActiveOptions, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setActive:(BOOL)active withOptions:(AVAudioSessionSetActiveOptions)options error:(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 и позже.

    См. также

    – setInputGain:error:

  • Изменяет входное усиление на указанное значение.

    Объявление

    Swift

    func setInputGain(_ gain: Float, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setInputGain:(float)gain error:(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 Свойство

    Частота дискретизации звука, в герц, который является в настоящее время в действительности. (только для чтения)

    Объявление

    Swift

    var sampleRate: Double { get }

    Objective C

    @property(readonly) double 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, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setPreferredSampleRate:(double)sampleRate error:(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 и позже.

    См. также

    preferredSampleRate

  • 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, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration error:(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 и позже.

    См. также

    preferredIOBufferDuration

  • Булево значение, указывающее, играет ли другое приложение аудио. (только для чтения)

    Объявление

    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 и позже.

  • Предпочтительное число каналов ввода для текущего маршрута. (только для чтения)

    Объявление

    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, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count error:(NSError **)outError

    Параметры

    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 и позже.

  • Наибольшее число каналов вывода, доступных для текущего маршрута. (только для чтения)

    Объявление

    Swift

    var maximumOutputNumberOfChannels: Int { get }

    Objective C

    @property(readonly) NSInteger maximumOutputNumberOfChannels

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Предпочтительное число каналов вывода для текущего маршрута. (только для чтения)

    Объявление

    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, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count error:(NSError **)outError

    Параметры

    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, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride error:(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 и позже.

    См. также

    availableInputs

  • Устанавливает предпочтительный входной порт для аудио маршрутизации.

    Объявление

    Swift

    func setPreferredInput(_ inPort: AVAudioSessionPortDescription!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort error:(NSError **)outError

    Параметры

    inPort

    AVAudioSessionPortDescription объект, описывающий порт для использования для ввода.

    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 и позже.

    См. также

    inputDataSources

  • Выбирает источник данных для текущего входного порта аудио сеанса.

    Объявление

    Swift

    func setInputDataSource(_ dataSource: AVAudioSessionDataSourceDescription!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSource error:(NSError **)outError

    Параметры

    dataSource

    Источник данных для ввода аудио сеанса.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    YEStrue если был успешно присвоен входной источник данных для аудио сеанса; иначе, NOfalse.

    Обсуждение

    Можно изменить входной источник на всего один из AVAudioSessionDataSourceDescription объекты в inputDataSources массив. Переключение между многократными входными источниками поддерживается только на определенных устройствах и периферийных устройствах; например, этот метод может использоваться для выбора между передней стороной - и микрофонами, расположенными «против движения», на iPhone, оборудованном ими.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 6.0 и позже.

    См. также

    inputDataSources

  • 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 и позже.

    См. также

    outputDataSources

  • Устанавливает источник выходных данных для аудио сеанса.

    Объявление

    Swift

    func setOutputDataSource(_ dataSource: AVAudioSessionDataSourceDescription!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSource error:(NSError **)outError

    Параметры

    dataSource

    Источник данных для вывода аудио сеанса.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    YEStrue если был успешно присвоен источник выходных данных для аудио сеанса; иначе, NOfalse.

    Обсуждение

    Можно изменить выходной источник на один из AVAudioSessionDataSourceDescription объекты в outputDataSources массив. Эта функция поддерживается только на определенных аксессуарах USB.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 6.0 и позже.

    См. также

    outputDataSources

  • delegate (iOS 6.0) Свойство

    Объект делегата для аудио сеанса.

    Оператор осуждения

    Используйте уведомления, описанные в разделе Notifications этого класса вместо этого.

    Объявление

    Objective C

    @property(assign) id< AVAudioSessionDelegate > delegate

    Обсуждение

    Объект делегата должен реализовать протокол, описанный в Ссылке на протокол AVAudioSessionDelegate.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 4.0 и позже.

    Осуждаемый в iOS 6.0.

  • currentHardwareInputNumberOfChannels (iOS 6.0) Свойство

    Число аудио аппаратных каналов ввода. (только для чтения)

    Оператор осуждения

    Использовать inputNumberOfChannels вместо этого.

    Объявление

    Objective C

    @property(readonly) NSInteger currentHardwareInputNumberOfChannels

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • currentHardwareOutputNumberOfChannels (iOS 6.0) Свойство

    Число аудио аппаратных каналов вывода. (только для чтения)

    Оператор осуждения

    Использовать outputNumberOfChannels вместо этого.

    Объявление

    Objective C

    @property(readonly) NSInteger currentHardwareOutputNumberOfChannels

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • currentHardwareSampleRate (iOS 6.0) Свойство

    Аудио аппаратная частота дискретизации, в герц. (только для чтения)

    Оператор осуждения

    Использовать sampleRate вместо этого

    Объявление

    Objective C

    @property(readonly) double currentHardwareSampleRate

    Обсуждение

    Получите значение этого свойства после активации Вашего аудио сеанса. В то время как Ваш сеанс остается активным, после успешной активации не изменяется значение этого свойства.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • preferredHardwareSampleRate (iOS 6.0) Свойство

    Предпочтительная аппаратная частота дискретизации, в герц. (только для чтения)

    Оператор осуждения

    Использовать preferredSampleRate вместо этого.

    Объявление

    Objective C

    @property(readonly) double preferredHardwareSampleRate

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • Устанавливает предпочтительную аппаратную частоту дискретизации для ввода и вывода.

    Оператор осуждения

    Использовать setPreferredSampleRate:error: вместо этого.

    Объявление

    Objective C

    - (BOOL)setPreferredHardwareSampleRate:(double)sampleRate error:(NSError **)outError

    Параметры

    sampleRate

    Аппаратная частота дискретизации Вы хотите использовать. Доступный диапазон для аппаратной частоты дискретизации зависим от устройств.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    Возвраты YEStrue на успехе или NOfalse при отказе.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • inputIsAvailable (iOS 6.0) Свойство

    Булево значение, указывающее, доступен ли аппаратный путь аудиовхода (YEStrue), или не (NOfalse). (только для чтения)

    Оператор осуждения

    Использовать inputAvailable вместо этого.

    Объявление

    Objective C

    @property(readonly) BOOL inputIsAvailable

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 6.0.

  • Активирует или деактивировал аудио сеанс Вашего приложения; обеспечивает флаги для использования другими аудио сеансами.

    Оператор осуждения

    Использовать setActive:withOptions:error: вместо этого.

    Объявление

    Objective C

    - (BOOL)setActive:(BOOL)beActive withFlags:(NSInteger)flags error:(NSError **)outError

    Параметры

    beActive

    Использовать YEStrue активировать аудио сеанс Вашего приложения или NOfalse деактивировать его.

    flags

    Растровое значение, содержащее один или несколько флагов от перечисления Флагов Активации.

    outError

    На вводе, указателе на ошибочный объект. Если ошибка происходит, указатель установлен в NSError объект, описывающий ошибку. Если Вы не хотите информации об ошибке, передайте в nil.

    Возвращаемое значение

    Возвраты YEStrue на успехе или NOfalse при отказе.

    Обсуждение

    Если активный аудио сеанс другого приложения имеет более высокий приоритет, чем Ваше приложение, и что другой аудио сеанс не позволяет смешиваться с другими приложениями, пытание активировать Ваш аудио сеанс может перестать работать.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 4.0 и позже.

    Осуждаемый в iOS 6.0.

Типы данных

  • Когда пользователь реагирует на подсказку для записи разрешения, подпись для блока выполнилась.

    Объявление

    Swift

    typealias PermissionBlock = (Bool) -> Void

    Objective C

    typedef void (^PermissionBlock)(BOOL granted)

    Обсуждение

    Блок берет единственный параметр:

    granted

    YEStrue если пользователь явно дал разрешение приложения для аудиозаписи; 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: 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(rawValue rawValue: 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(rawValue rawValue: 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(rawValue rawValue: UInt) static var OptionNotifyOthersOnDeactivation: AVAudioSessionSetActiveOptions { get } }

    Objective C

    enum { AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation = 1 }; typedef NSUInteger AVAudioSessionSetActiveOptions;

    Константы

    • OptionNotifyOthersOnDeactivation

      AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation

      Когда передано в 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;

    Константы

    • 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 словарь в a AVAudioSessionRouteChangeNotification уведомление.

    Оператор импорта

    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 вместо этого.

      Этот флаг используется только при деактивации аудио сеанса; т.е. когда Вы передаете значение 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;

    Константы

    • 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(rawValue rawValue: 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 и позже.

  • Отправленный на основном потоке, когда основное аудио из других приложений запускается и останавливается.

    Подпишитесь на это уведомление, чтобы гарантировать, что Ваше приложение уведомляется, когда дополнительное вторичное аудио отключение звука должно начаться или закончиться.

    Это уведомление userInfo словарь содержит a AVAudioSessionSilenceSecondaryAudioHintType значение для AVAudioSessionSilenceSecondaryAudioHintTypeKey.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 8.0 и позже.