Введение

iOS обрабатывает аудио поведение в приложении, межприложении и уровнях устройств через аудио сеансы и AVAudioSession APIs.

../Art/aspg_intro_2x.png

Используя AVAudioSession API, Вы разрешаете вопросы, такие как:

Пользователи могут включить или отключить гарнитуры, телефонные вызовы могут поступить, и предупреждения могут звучать. Действительно, аудиосреда на устройстве на iOS довольно сложна. iOS делает тяжелый подъем при использовании аудио сеанса APIs, чтобы указать конфигурацию и корректно реагировать на системные запросы, с помощью очень небольшого количества кода.

Сразу

AVAudioSession дает Вам, управляют аудио поведением Вашего приложения. Вы можете:

Аудио сеанс инкапсулирует ряд способов поведения

Аудио сеанс является посредником между Вашим приложением, и iOS раньше конфигурировал аудио поведение Вашего приложения. На запуск Ваше приложение автоматически получает одноэлементный сеанс аудио.

Экспресс категорий аудио роли

Основной механизм для выражения аудио способов поведения является аудио категорией сеанса. Путем установки категории Вы указываете, использует ли Ваше приложение маршруты ввода или вывода, хотите ли Вы, чтобы музыка продолжала играть вместе с Вашим аудио и т.д. Поведение, которое Вы указываете, должно оправдать пользовательские надежды, как описано в Звуке в Инструкциях по Интерфейсу пользователя iOS.

Семь аудио категорий сеанса, вместе с рядом переопределения и переключателей модификатора, позволяют Вам настроить аудио поведение согласно индивидуальности или роли своего приложения. Различные категории поддерживают воспроизведение, запись и воспроизведение вместе с записью. Когда система знает аудио роль Вашего приложения, она предоставляет Вам надлежащий доступ к аппаратным ресурсам. Система также гарантирует, что другое аудио на устройстве ведет себя в пути, работающем на Ваше приложение; например, при необходимости в Музыкальном приложении, которое будет прервано, это.

Режимы настраивают категории

Пользователи ожидают определенные способы поведения от определенных категорий приложений. Режимы специализируют поведение данной категории. Например, когда приложение использует режим Video Recording, система может выбрать различный встроенный микрофон, чем это было бы, если это использовало режим по умолчанию. Система может также начать обработку сигналов микрофона, настраивающуюся для вариантов использования видеозаписи.

Обработка прерывания поддержки уведомлений

Прерывание звука является деактивацией аудио сеанса Вашего приложения — который сразу останавливает Ваше аудио. Прерывания происходят, когда конкурирующий аудио сеанс из приложения активируется, и тот сеанс не категоризирован системой для смешивания с Вашим. После того, как Ваш сеанс идет неактивный, система отправляет, “Вы были прерваны” сообщение, на которое можно ответить путем сохранения состояния, обновления пользовательского интерфейса, и т.д.

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

Обработка изменения маршрута аудио поддержки уведомлений

У пользователей есть определенные ожидания, когда они инициируют аудио изменение маршрута путем прикрепления или расстыковки устройства, или путем включения или отключения гарнитуры. Звук в Инструкциях по Интерфейсу пользователя iOS описывает эти ожидания и обеспечивает инструкции по тому, как встретить их. Обработайте изменения маршрута путем регистрации для AVAudioSessionRouteChangeNotification.

Категории поддерживают расширенные функции

Можно подстроить аудио категорию сеанса во множестве путей. В зависимости от категории Вы можете:

Предпосылки

Будьте знакомы с Сенсорной разработкой Какао, столь представленной в Руководстве по программированию Приложения для iOS и с основами Core Audio как описанный в том документе и в Обзоре Core Audio. Поскольку аудио сеансы опираются на практические сценарии конечного пользователя также быть знакомыми с устройствами на iOS, и с Инструкциями по Интерфейсу пользователя iOS, особенно раздел Sound в Инструкциях по Интерфейсу пользователя iOS.

См. также

Можно счесть следующие ресурсы полезными: