Аудио инструкции типом приложения
Последняя ведущая игра не имеет тех же аудио требований как приложение чата видео реального времени. Следующие разделы обеспечивают руководство по проектированию для различных типов аудио приложений.
Аудио инструкции для игровых приложений
Большинство игр требует, чтобы взаимодействие с пользователем для чего-либо произошло в игре. Используйте AVAudioSessionCategoryAmbient
или AVAudioSessionCategorySoloAmbient
категории при разработке игр. Когда пользователи переведут другое приложение в рабочее состояние или блокируют экран, они не ожидают, что приложение будет продолжать играть. Часто пользователь хочет, чтобы аудио от другого приложения продолжало играть, в то время как играет игровое приложение.
Apple рекомендует следующие инструкции:
Звуковые эффекты приложения игры, позволяя аудио другого приложения играть.
Аудио звуковой дорожки приложения игры, когда другое аудио не играет, иначе позволяет предыдущему аудио играть.
Всегда попытка повторно активировать и возобновить воспроизведение после события прерывания конца.
Проигнорируйте все изменения маршрута, если приложение в частности не должно обращать внимание на них.
Установите аудио категорию прежде, чем вывести на экран видео всплеск на запуске приложения.
Аудио инструкции для управляемых пользователями приложений воспроизведения и записи
Приложения видеозаписи и приложения, такие как Pandora и Netflix имеют те же инструкции. Эти типы приложений используют AVAudioSessionCategoryRecord
, AVAudioSessionCategoryPlayAndRecord
, или AVAudioSessionCategoryPlayback
категории и позволяют другим приложениям смешиваться с ними. Эти типы приложений обычно не наклоняют аудио других приложений. UI будет включать кнопку игры/паузы или кнопку записи/паузы.
Apple рекомендует следующие инструкции:
Ожидайте пользователя для нажатия игры/кнопки записи, когда приложение введет передний план прежде, чем активировать аудио сеанс.
Сохраните аудио сеанс активным всюду по времени жизни приложения, если это не прервано.
Обновите UI, чтобы указать, что аудио приостановилось, когда оно прервано. Не деактивируйте аудио сеанс или объекты проигрывателя паузы/остановки.
Проверьте на присутствие
AVAudioSessionInterruptionOptionKey
постоянный и честь его значение после прерывания конца. Не начинайте играть аудио снова, если приложение не играло до прерывания.Приостановите аудио сеанс вследствие изменения маршрута, вызванного отключить событием, но сохраните аудио сеанс активным.
Предположите, что аудио сеанс приложения неактивен, когда он переходит от приостановленного до приоритетного состояния. Реактивный аудио сеанс, когда пользователь нажимает кнопку воспроизведения.
Гарантируйте что аудио
UIBackgroundModes
флаг установлен.Используйте
AVAudioSessionCategoryPlayAndRecord
категория вместоAVAudioSessionCategoryRecord
категория.Используйте фоновую задачу вместо того, чтобы передать тишину потоком, чтобы препятствовать приложению приостанавливаться.
Используйте a
MPVolumeView
объект для понижения объема и средства выбора маршрута.Попросите у пользователя разрешения записать ввод с помощью
requestRecordPermission:
метод. Не полагайтесь на iOS для запроса пользователя.Регистр для событий дистанционного управления.
Аудио инструкции для VoIP и приложения чата
VoIP и приложения чата требуют, чтобы оба маршрута ввода и вывода были доступны. Эти типы приложений используют AVAudioSessionCategoryPlayAndRecord
категория и не смешивается с другими приложениями.
Apple рекомендует следующие инструкции:
Только активируйте аудио сеанс, когда пользователь будет отвечать или инициировать вызов.
Обновите UI, чтобы отразить, что аудио вызова было прервано после уведомления прерывания.
Не активируйте аудио сеанс после прерывания, пока пользователь не будет отвечать или инициировать вызов.
Деактивируйте аудио сеанс после того, как вызов закончит использование
AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation
постоянный.Проигнорируйте все изменения маршрута, если приложение в частности не должно обращать внимание на них.
Гарантируйте что аудио
UIBackgroundModes
флаг установлен.Используйте a
MPVolumeView
объект для понижения объема и средства выбора маршрута.Попросите у пользователя разрешения записать ввод с помощью
requestRecordPermission:
метод. Не полагайтесь на iOS для запроса пользователя.
Аудио инструкции для приложений тарификации
Приложения тарификации хотят минимальную сумму предоставленной систему обработки сигналов, применился к маршрутам ввода и вывода. Установите AVAudioSessionCategoryPlayAndRecord
категория и измерительный режим для минимизации обработки сигналов. Кроме того, приложения этого типа не смешаются с другими приложениями.
Apple рекомендует следующие инструкции:
Всегда попытка повторно активировать и возобновить воспроизведение после события прерывания конца.
Проигнорируйте все изменения маршрута, если приложение в частности не должно обращать внимание на них.
Установите аудио категорию прежде, чем вывести на экран видео всплеск на запуске приложения.
Попросите у пользователя разрешения записать ввод с помощью
requestRecordPermission:
метод. Не полагайтесь на iOS для запроса пользователя.
Аудио инструкции для подобных Браузеру приложений это иногда играет аудио
Приложения как Facebook и Instagram не записывают аудио, только воспроизводят аудио и видео. Они используют AVAudioSessionCategoryPlayback
категория и не повинуется переключателю вызывного устройства. Эти приложения также не смешиваются с другими приложениями.
Apple рекомендует следующие инструкции:
Всегда ожидайте пользователя для инициирования воспроизведения.
Деактивируйте аудио сеанс после видео концов и установите
AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation
ключ.Приостановите аудио сеанс вследствие изменения маршрута, вызванного отключить событием, но сохраните аудио сеанс активным.
Регистр для событий дистанционного управления, в то время как видео играет и нерегистр, когда заканчивается видео.
Обновите UI, когда приложение получит начать событие прерывания.
Ожидайте пользователя для инициирования воспроизведения после получения события прерывания конца.
Аудио инструкции для приложений навигации и проверки
Навигация и приложения проверки используют AVAudioSessionCategoryPlayback
или AVAudioSessionCategoryPlayAndRecord
категории. Аудио из этих приложений является обычно короткими подсказками и смешается с другими приложениями. Поскольку предполагается, что пользователь хочет услышать аудио из этих приложений, даже когда другие приложения играют, эти приложения наклонят аудио из других приложений.
Apple рекомендует следующие инструкции:
Не активируйте аудио сеанс, пока не должна будет играться подсказка.
Всегда деактивируйте аудио сеанс после того, как будет играться подсказка.
Проигнорируйте все прерывания и изменения маршрута.
Аудио инструкции для совместных музыкальных приложений
В то время как другие приложения играют, совместные музыкальные приложения разработаны для игры. Эти типы приложений будут использовать AVAudioSessionCategoryPlayback
или AVAudioSessionCategoryPlayAndRecord
категория и смешается с другими приложениями.
Apple рекомендует следующие инструкции:
Если приложение не имеет запуска/кнопки остановки, то также следуют инструкциям для игровых приложений.
Если UI содержит запуск/кнопку остановки, только активируйте аудио сеанс, когда пользователь нажимает кнопку воспроизведения.
Не регистрируйтесь в системе для событий дистанционного управления.
Гарантируйте что аудио
UIBackgroundModes
флаг установлен.Если приложение записывает ввод данных пользователем, попросите у пользователя разрешения записать ввод с помощью
requestRecordPermission:
метод. Не полагайтесь на iOS для запроса пользователя.