Как вы воспроизводите звук в фоновом режиме без прерывания? - PullRequest
2 голосов
/ 30 декабря 2011

Следующий код должен воспроизводить тихий аудиоклип в цикле, чтобы приложение оставалось активным в фоновом режиме:

//set sessions ....
.........
//play
audio_player = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:NULL];
audio_player.numberOfLoops= -1; //always repeat
bool ret = [audio_player play];

Вы нажимаете кнопку «Домой», и она воспроизводится в фоновом режиме, сохраняя активность вашего приложения.

Однако, когда вы делаете телефонный звонок, проигрыватель останавливается и [audio_player play] возвращает ложное после этого.

Таким образом, вопрос в том, как в фоновом режиме как предотвратить воспроизведение AVAudioPlayerот прерывания или позволить ему возобновиться при прерывании?В противном случае приложение будет остановлено через 10 минут после последнего воспроизведения цикла тихого звука.

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

Может кто-нибудь придумать решение для запуска в фоновом режиме, не будучи отклоненным App Store?

1 Ответ

1 голос
/ 30 декабря 2011

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

...