我正在XCode 6中测试我的应用程序,并发现在iOS8中使用AVAudioSession时出现了问题。
当我调用
[[AVAudioSession sharedInstance] setActive:NO error:nil];
我会得到以下错误消息:
AVAudioSession.mm:623:-[AVAudioSession setActive:withOptions:error:]: 停用具有正在运行的I/O的音频会话。在停用音频会话之前,所有I/O都应该停止或暂停。
在AVAudioSession.h中,它说
请注意,如果在运行或暂停I/O(例如音频队列、播放器、录制器、转换器、远程 I/O等)的情况下将会话设置为非活动状态,则此方法将在iOS 8及其之后链接的应用程序中引发异常。
但我不确定如何检查是否存在正在运行的I/O以及在需要重置音频会话时如何处理所有内容。