AVAudioSession - Общие рекомендации для обработки AVAudioSessionMediaServicesWereResetNotification
Q: Если мой регистр приложения для AVAudioSessionMediaServicesWereResetNotification и если так, как я восстанавливаюсь, как только были сброшены мультимедийные службы?
A: В то время как это - очень редкое возникновение, это - хорошая практика для контроля для AVAudioSessionMediaServicesWereResetNotification уведомление и если это действительно происходит, предпримите надлежащие шаги, чтобы повторно инициализировать любые аудио объекты, используемые Вашим приложением.
Переинициализация обычно требует расположения всех теперь осиротевших аудио объектов приложения (например, AudioQueue, AURemoteIO, AudioConverter и т.д., так как ни один из них не будет функционировать как ожидалось), и воссоздание их, как будто приложение запускало впервые. Любые ошибки, возвращенные во время расположения, могут безопасно быть проигнорированы.
Общие рекомендации для обработки сброса мультимедийных служб (AVAudioSessionMediaServicesWereResetNotification):
Зарегистрируйте слушателя уведомления для
AVAudioSessionMediaServicesWereResetNotification
После получения AVAudioSessionMediaServicesWereResetNotification уведомление, приложения должны:
Расположите осиротевшие аудио объекты и создайте новые аудио объекты
Сбросьте любое внутреннее аудио прослеживаемое состояние, включая все свойства
AVAudioSessionКогда надлежащий, повторно активируйте
AVAudioSessionиспользованиеsetActive:error:метод
История версии документа
| Дата | Примечания |
|---|---|
| 01.10.2013 | Обновленный для AVAudioSession |
| 22.08.2011 | Новый документ, обсуждающий некоторые аудиоприложения шагов, может взять, чтобы восстановиться, если были сброшены мультимедийные службы. |