以下代码应在循环中播放无声音频剪辑,以使应用程序在后台保持活动状态:
//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 拒绝的解决方案?