我不断收到错误:
类型“[AVCaptureDevice.DeviceType]”没有成员“builtInWideAngleCamera”
但我不知道如何更改此代码。我的 Xcode 版本是 14.3。 iPhone 14 pro。 这是我写的代码:
if let availableDevices = AVCaptureDevice.DiscoverySession(deviceTypes: .builtInWideAngleCamera, mediaType:
AVMediaTypeVideo, position: .back).devices {
captureDevice = availableDevices.first
beginSession()
这是唯一的错误。请告诉我解决此问题的最简单方法!
我认为一个简单的替代方案就可以了,但我什至不知道基础知识。请帮我解决。
主要问题是
devices
参数需要一个数组,而不是单个值。
修复后,您将收到有关
mediaType
参数的错误。您需要指定一个有效的 AVMediaType
值。
最后,
devices
的 AVCaptureDevice.DiscoverySession
属性不是可选的,因此您不需要 if let
,但在数组上调用 first
会给出一个可选属性,因此您需要 if let
。
固定代码为:
let availableDevices = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .back).devices
if let captureDevice = availableDevices.first {
beginSession()
}