如何在背景中循环播放声音而不被打断



下面的代码应该循环播放无声音频剪辑,以保持应用程序在后台的活动:

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

你按下home键,它在后台播放,使你的应用程序保持活动状态。

但是,当你打电话时,播放器会停止,之后[audio_player play]会返回false。

所以问题是,当在后台时,你如何防止AVAudioPlayer的播放被中断或允许它在中断时恢复?否则,应用程序将在静音音频循环最后播放10分钟后终止。

我知道有一个解决方案,因为有很多闹钟应用程序可以在后台运行而不受影响。我已经测试过了,它们确实在后台运行。

谁能想出一个在后台运行而不被App Store拒绝的解决方案?

答案是一旦你的应用程序在后台,你不能再次打开音频设备,直到你的应用程序返回到前台。

最新更新