我开发了一个播放音乐曲目的音频应用程序。在MonoTouch中的info.plist文件中,我添加了数组属性Required background modes,其值为audio-content。问题是,当设备的主页按钮被按下、锁定按钮被按下或设备本身进入睡眠模式时,音频仍然停止播放,只有在设备解锁并将应用程序再次置于前台后才能恢复。
发生这些操作时,如何保持音频播放?除了MonoTouch的info.plist解决方案外,互联网几乎没有提供任何信息。
为了让这种应用程序在后台或屏幕锁定时播放音乐,您必须将其音频会话类别设置为AVAudioSessionCategoryPlayback
:
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
if (setCategoryError) {
NSLog(@"couldn't setup audio session category!");
}
有关这方面的更多信息,请参阅苹果的音频会话编程指南。