我正在尝试使用自定义相机,并将代码从 swift 2 转换为 swift 3;我已经很完整了;但是我收到与设备有关的错误;我想要一个后置和前置摄像头,在 swift 2 之前,您可以像这样设置设备:
let devices = AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo) as! [AVCaptureDevice]
现在我正在使用 xcode 告诉我使用的是:
let devices = AVCaptureDeviceDiscoverySession(deviceTypes: [AVCaptureDevice], mediaType: AVMediaTypeVideo, position: AVCaptureDevicePosition)
但是我收到这个错误
cannot convert value of type 'AVCaptureDevice.type' to expected argument type '[AVCaptureDeviceType]'
最佳答案
对于 deviceTypes
参数,您需要传入一个或多个 AVCaptureDeviceType
的数组。您的选择是:
- 内置麦克风
- 内置广角摄像头
- 内置长焦相机
- 内置双摄像头
参见 here有关这些常量的更多信息。
话虽如此,您可能正在寻找类似的东西:
let devices = AVCaptureDeviceDiscoverySession(deviceTypes: [AVCaptureDeviceType.builtInWideAngleCamera, AVCaptureDeviceType.builtInTelephotoCamera], mediaType: AVMediaTypeVideo, position: AVCaptureDevicePosition.unspecified)
关于swift - AV 基金会关于相机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41515077/