只是想知道是否有其他人遇到过此事。未调用与电话中断相关的AVAudioRecorderDelegate方法。但是,我知道委托设置正确,因为它调用了audioRecorderDidFinishRecording方法。我知道我可能已经做了一些导致这个故障的事情,因为几个星期前,当我搞乱它时,实际上正在调用中断方法。
无论如何,如果代理设置正确,有没有人知道为什么不调用这些方法?
注意:无论我是使用AVAudioRecordedDelegate还是为AVAudioSessionInterruptionNotification添加观察者,问题都是一样的。
谢谢!
答案 0 :(得分:0)
好的,所以我找到了解决问题的方法。问题是我在应用程序的其他地方有一个AVCaptureSession。在这种情况下,让捕获会话实例知道不使用应用程序的音频会话非常重要。这样做就像这样:
self.captureSession.usesApplicationAudioSession = NO;
现在,您的AVAudioRecorderDelegate将处理中断(或者,如果您选择使用通知,它们也可以正常工作)。
答案 1 :(得分:-1)
使用通知。 这是一个Swift示例。
NSNotificationCenter.defaultCenter().addObserver(self,
selector:"sessionInterrupted:",
name:AVAudioSessionInterruptionNotification,
object:myRecorder)