如何在AVCapture设备输入上禁用相机麦克风

dre*_*934 13 ios avcapturesession avcapturedevice swift

我将麦克风设置在上,AVCaptureSession并且需要麦克风开关。我应该如何进行呢?我真的需要captureSession?.removeInput(microphone)还是有简便的方法?

let microphone = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)

        do {
            let micInput = try AVCaptureDeviceInput(device: microphone)
            if captureSession.canAddInput(micInput) {
                captureSession.addInput(micInput)
            }
        } catch {
            print("Error setting device audio input: \(error)")
            return false
        }
Run Code Online (Sandbox Code Playgroud)

Wal*_*ter 9

您始终可以始终保持麦克风输入连接,然后使用开关决定如何处理音频缓冲区。如果开关关闭,则不要处理音频数据。我找到了objc.io文章,该文章讨论在使用AVAssetWriter写入数据之前如何设置单独的音频和视频缓冲区。