iOS AVAudioSession 在background中断问题
程序实现了一个实时讲解的功能。
使用的category 是: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
使用的是音频播放方式是:openAL
1.现在如果程序在前台运行, 也就是播放讲解。此时来了个电话或者闹铃, 会触发AVAudioSessionInterruptionNotification通知,根据参数来pause和resume, 在电话结束后或闹铃结束后,将继续播放我原来的讲解, 这个是没问题的。
2.如果程序后退到台运行了,也就是后台进行讲解。 此时来了个电话或者闹铃,也回触发AVAudioSessionInterruptionNotification通知, pause没问题, 但是在resume中[[AVAudioSession sharedInstance] setActive:YES error:&error];中是失败的,错误码是AVAudioSessionErrorCodeCannotInterruptOthers = '!int', /* 0x21696E74, 560557684 */这个。
所以2问题导致我无法在打完电话后自动地继续播放讲解
我怀疑退到后台了, 再也拿不到权限了。但是其他软件就可以实现。比如用UC浏览器听一首歌曲, 然后切换到QQ播放一段语音, 语音播完后,还会继续播放歌曲
此问题困扰我好几天, 烦请各位大大帮忙解决一下,万分感谢!