AVAudioPlayer прекращает воспроизведение при блокировке экрана, даже если категория AVAudioSessionCategoryPlayback - PullRequest
12 голосов
/ 10 ноября 2011

Мое приложение использует AVAudioPlayer для воспроизведения аудио-плейлистов.Я не изменил код между iOS4.3 и iOS5.Однако звук на iOS5 приостанавливается при блокировке экрана, хотя я установил категорию AVAudioSessionCategoryPlayback.

Я протестировал код на устройствах iOS4.3 и iOS5, и эта проблема возникает на устройстве iOS5.

Кто-нибудь еще сталкивался с этой проблемой?Я в растерянности, так как даже не знаю, с чего начать отладку этой проблемы.Моя отладка началась и закончилась проверкой параметра AVAudioSessionCategory.

Код, в котором я это делаю:

[[AVAudioSession sharedInstance] setDelegate: self];
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];

Редактировать:

Я уже реализовал и обработалaudioPlayerBeginInterruption

Редактировать # 2: Решено !Спасибо Rhythmic Fistman's Response

Вот что происходило и что я делал.Изменения iOS5 теперь переводят ваше приложение в фоновый режим, даже когда экран заблокирован.Это означает, что вам нужно включить фоновое аудио в вашем приложении и сделать любой view / viewcontroller, обрабатывающий это аудио, первым респондентом.

Шаг 1: Включить фоновое аудио в вашем приложении

Шаг 2: Включите удаленные события и станьте первым респондентом в контроллере / представлении, отвечающем за обработку вашего плейлиста

ПРИМЕЧАНИЕ. Обязательно проверьте это наУстройство.Имитатор покажет, что код не работает.

Ответы [ 2 ]

12 голосов
/ 11 ноября 2011

Экран блокировки изменился в iOS5, теперь он отправляет ваше приложение в фоновый режим, поэтому, если вы хотите, чтобы ваше аудио продолжалось, вы должны добавить «audio» в качестве UIBackGroundModes в файл Info.plist.

БлижайшийВ документации к этому я могу найти несколько сообщений Apple devforum (требуется регистрация).

1 голос
/ 11 ноября 2011

Я не очень привык к аудио, но вы смотрели про интерпшнс?Я читал что-то, что говорило (по моим воспоминаниям), что звук может быть остановлен, когда произойдет прерывание, и ваша работа - заставить его воспроизводиться снова.

Но это просто что-то из моей памяти.Это помогает?

...