Следующий код должен играть тихий звуковой клип на петле, чтобы сохранить приложение работает в фоновом режиме:Как вы играете звук на петле в фоновом режиме, не прерываясь?
//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]
вернет false после этого.
Итак, вопрос в том, как в фоновом режиме, как вы предотвращаете воспроизведение AVAudioPlayer от прерывания или разрешаете его возобновлять при прерывании? В противном случае приложение прекратит работу через 10 минут после того, как тихий звуковой контур в последний раз воспроизводится.
Я знаю, что есть решение, потому что есть множество приложений для будильника, которые могут работать в фоновом режиме без ущерба. Я тестировал, и они действительно работают в фоновом режиме.
Может ли кто-нибудь придумать решение для запуска в фоновом режиме, не будучи отвергнутым в App Store?
Как вы проверили, что они действительно работают в фоновом режиме? – tia
Насколько я знаю, ваше приложение не должно останавливаться через десять минут после входа в фон. Прочтите следующие ссылки, которые могут вам помочь. Http://www.iphonedevsdk.com/forum/iphone-sdk-development/9598-avaudioplayer-issue.html https://devforums.apple.com/message/264397#264397 и http://developer.apple.com/library/IOs/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/HandlingAudioInterruptions/HandlingAudioInterruptions.html И приложения таймера не могут сравниваться с аудио-приложениями. –
Это близко к вопросу [iOS 4 Alarm Clock с поддержкой многозадачности] (http://stackoverflow.com/questions/3897946/ios-4-alarm-clock-app-with-multitasking-support), но спрашивает что-то немного отличное от этого. Тем не менее, один или два ответа там могут помочь здесь. –