解决:AVAudioSession的中断处理方法失效

问题描述:
使用了AVCaptureDevice和AVCaptureSession,以进行录音录像操作
xcode控制台:

[avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 扬声器 (type: Speaker)

问题原因:
为了调优app设置,以更好的进行录音录像,从iOS7开始,在默认情况下,AVCaptureSession会使用app的AVAudioSession,并对其进行修改。这样,设置的中断监听方法会失效。

解决方法:
可以对AVCaptureSession进行设置,让它不要使用app的AVAudioSession:

AVCaptureSession* captureSession = [AVCaptureSession new];
captureSession.usesApplicationAudioSession = NO;

你可能感兴趣的