Skip to main content
 首页 » 编程设计

c#之设备锁定或 sleep 时音频暂停 MonoTouch

2024年01月01日56cloudgamer

我开发了一个播放音乐轨道的音频应用程序。在 MonoTouch 的 info.plist 文件中,我添加了值为可听内容的数组属性 Required background modes。问题是,当按下设备的主页按钮、按下锁定按钮或设备自行进入休眠模式时,音频仍然停止播放,只有在设备解锁并再次将应用程序带到前台后才会恢复播放。

发生这些操作之一时,如何保持音频播放?除了 MonoTouch 的 info.plist 解决方案外,互联网提供的信息很少。

请您参考如下方法:

为了让这类应用在后台或屏幕锁定时播放音乐,您必须将其 Audio Session 类别设置为 AVAudioSessionCategoryPlayback:

NSError *setCategoryError = nil;  
 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 
 
if (setCategoryError) { 
    NSLog(@"couldn't setup audio session category!"); 
} 

Apple 的 Audio Session Programming Guide 中有更多相关信息.