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