我收到以下错误:目前不支持多个音频/视频AVCaptureInputs。以下行发生此问题:
g.captureSession.addInput(AVCaptureDeviceInput(device: captureDevice))
所以我在互联网上搜索并看到了这个解决方案:
if(g.captureSession.inputs.isEmpty){
try g.captureSession.addInput(AVCaptureDeviceInput(device: captureDevice))
}
但这不起作用,因为它不是空的?!即使这是第一次。所以输入永远不会被添加。
这是我的实际代码:
let g = peerConnectionFactory.avFoundationVideoSource(with: nil);
g.captureSession.sessionPreset = AVCaptureSessionPresetHigh
let devices = AVCaptureDevice.devices()
for device in devices! {
if ((device as AnyObject).hasMediaType(AVMediaTypeVideo)) {
if((device as AnyObject).position == AVCaptureDevicePosition.front) {
let captureDevice = device as? AVCaptureDevice
if captureDevice != nil {
do{
try g.captureSession.addInput(AVCaptureDeviceInput(device: captureDevice))
g.captureSession.startRunning()
} catch {
print("we have error")
}
}
}
}
}
我该如何解决这个问题?我做错了什么?
答案 0 :(得分:0)
您正在添加多个输入,因为您正在使用多台摄像机。
所以你得到了错误。
首先查找并存储设备。
然后只为其中一个使用addInput。