这是我的应用程序中当前发生的情况:
锁定:按下 iPhone 锁定按钮 -> 音频暂停
解锁:按下 iPhoneUnlocked 按钮 -> 音频恢复 -> 滑动解锁 -> 应用出现
我希望解锁顺序为:
解锁:按下 iPhone 解锁按钮 -> 滑动解锁 -> 音频恢复 -> 应用出现
我正在使用 OS 2.2.1 和 AVFoundation 框架,这是我已经尝试过的:
我尝试使用 AppDelegate 的 applicationWillResignActive 和 applicationDidBecomeActive 回调,它不起作用。虽然 applicationDidBecomeActive 在正确的时间被调用(即当用户滑动解锁设备时),但只要按下解锁按钮,音频就会恢复(我猜这是因为音频会话),所以我尝试了:
我实现了 AVAudioPlayerDelegate 的 audioPlayerBeginInterruption 和 audioPlayerEndInterruption 选择器,看起来这些方法永远不会被调用(我已经放置了日志调用)。我确定我正确设置了委托,因为在音频文件完成播放时正确调用了 audioPlayerDidFinishPlaying。
PS:如果这不明显,我正在设备上进行测试