以下代码应在循环中播放静音音频片段,以使应用程序在后台保持活动状态:
//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拒绝的解决方案吗?
答案 0 :(得分:1)
答案是,一旦您的应用程序处于后台,您就无法再次打开音频设备,直到您的应用程序返回到前台。