你怎么在后台循环播放声音而不被打断?

时间:2011-12-30 15:38:07

标签: ios objective-c playback multitasking silent

以下代码应在循环中播放静音音频片段,以使应用程序在后台保持活动状态:

//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拒绝的解决方案吗?

1 个答案:

答案 0 :(得分:1)

答案是,一旦您的应用程序处于后台,您就无法再次打开音频设备,直到您的应用程序返回到前台。