ios - 如何在 AVCapture 设备输入上禁用摄像头麦克风

标签 ios swift avcapturesession avcapturedevice

我正在 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
        }

最佳答案

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

关于ios - 如何在 AVCapture 设备输入上禁用摄像头麦克风,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48159044/

相关文章:

ios - 应用程序委托(delegate)中的 Firebase 用户身份验证检查

ios - Swift:检查数据类型是否可以转换为 Double

ios - 带有 ARC 的 iOS5 modalviewcontroller 中的 AVCaptureSession

ios - AvCaptureSession代码提取错误

Swift 中的 iOS 反盗版

ios - Passport-facebook-token 不断返回 401

ios - 显示提要中的评论数

ios - 如何在 Xcode 中的表格 View 底部添加搜索栏?

ruby - UML 如何表示类关注点/模块/扩展

ios - AVCapturesession 不适用于 iOS 中的真实产品条形码