(AVCaptureDevice) 为什么我无法获取我的相机设备

(AVCaptureDevice) Why can't I get my camera device

我写了下面的代码,但是我无法获取我的相机设备。总是崩溃

guard let captureDevice = AVCaptureDevice.default(.builtInDualCamera, for: .video, position: .back) else {
  fatalError()
}

我改成下面的代码后,成功了!

guard let captureDevice = AVCaptureDevice.default(for: AVMediaType.video) else {
   fatalError()
}

谁能告诉我为什么?谢谢!!

代码 1 :

guard let captureDevice = AVCaptureDevice.default(.builtInDualCamera, for: .video, position: .back) else {
  fatalError()
}

此处您使用了关键字 builtInDualCamera,并非所有 Apple 设备都可用。这就是您的应用程序崩溃的原因。

代码 2:

guard let captureDevice = AVCaptureDevice.default(for: AVMediaType.video) else {
   fatalError()
}

以上代码只是检查您的设备是否具有视频捕获功能。 我认为所有设备都具有此功能,这就是它起作用的原因。