当发生 AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient 时 AVCaptureSession 不在 ios 中录制视
Posted
技术标签:
【中文标题】当发生 AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient 时 AVCaptureSession 不在 ios 中录制视频【英文标题】:When AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient is occured AVCaptureSession is not recording video in ios 【发布时间】:2017-01-28 09:27:34 【问题描述】:在 AVCaptureSession 运行期间,当发生电话呼叫时,我因原因 AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient 而中断,我调用了 [captureSession beginConfiguration] 并删除了 AVMediaTypeAudio 的 AVCaptureDeviceInput,最后使用 [captureSession commitConfiguration] 和 [captureSession startRunning ] 但我无法录制输出为 AVCaptureMovieFileOutput 的视频。请帮忙。谢谢
【问题讨论】:
【参考方案1】:我在使用 GPUImage 时遇到了类似的问题。以下代码完成了工作: 首先移除音频输出和输入:
[_captureSession beginConfiguration];
[_captureSession removeInput:audioInput];
[_captureSession removeOutput:audioOutput];
audioInput = nil;
audioOutput = nil;
_microphone = nil;
[_captureSession commitConfiguration];
然后重启会话
[_captureSession startRunning];
我认为您缺少的部分是删除输出。
【讨论】:
以上是关于当发生 AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient 时 AVCaptureSession 不在 ios 中录制视的主要内容,如果未能解决你的问题,请参考以下文章