我的应用使用AVAudioPlayer播放音频播放列表。我没有更改iOS4.3和iOS5之间的代码。但是,即使我将类别设置为AVAudioSessionCategoryPlayback,iOS5上的音频也会暂停屏幕锁定。
我在iOS4.3和iOS5设备上测试了代码,iOS5设备上出现了这个问题。
还有其他人遇到过这个问题吗?我不知所措,因为我甚至不知道从哪里开始调试这个问题。我的调试开始并以检查AVAudioSessionCategory设置结束。
我正在执行的代码是:
[[AVAudioSession sharedInstance] setDelegate: self];
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
编辑:
我已经实施并处理了audioPlayerBeginInterruption
编辑#2:解决了!感谢Rhythmic Fistman's Answer
这是发生了什么以及我做了什么。即使屏幕被锁定,iOS5也会立即将您的应用推向后台。这意味着您需要在应用中启用背景音频,并使处理该音频的任何视图/视图控制器成为第一响应者。
第1步: Enable background audio in your app
注意: 确保在设备上进行测试。模拟器会使代码看起来不起作用。