2

以下代码应在循环中播放无声音频剪辑,以使应用程序在后台保持活动状态:

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

4

1 回答 1

1

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

于 2011-12-30T18:11:31.977 回答