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