Swift 无法使用AVCaptureDevice发现摄像头
这是我的密码:Swift 无法使用AVCaptureDevice发现摄像头,swift,avcapturedevice,Swift,Avcapturedevice,这是我的密码: if AVCaptureDevice.authorizationStatus(for: AVMediaType.video) == .authorized { let deviceDiscoverySession = AVCaptureDevice.DiscoverySession( deviceTypes: [.builtInDualCamera], mediaType: AVMediaType.video, positi
if AVCaptureDevice.authorizationStatus(for: AVMediaType.video) == .authorized {
let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(
deviceTypes: [.builtInDualCamera],
mediaType: AVMediaType.video,
position: .back)
let captureDevice = deviceDiscoverySession.devices.first
}
结果是空数组(deviceDiscoverySession.devices)。
我在实际设备(iPhone 6+iOS 12.1.2)上运行。您可以试试
// Find a camera with the specified AVCaptureDevicePosition, returning nil if one is not found
func cameraWithPosition(position: AVCaptureDevice.Position) -> AVCaptureDevice? {
let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: AVMediaType.video, position: .unspecified)
for device in discoverySession.devices {
if device.position == position {
return device
}
}
return nil
}
使用.builtInWideAngleCamera可以解决此问题。但我想知道这是否适用于所有iOS设备型号?我使用过它,而且它不会突破旧x代和新x代,顺便说一句,您可以在该阵列中指定所有可能的值感谢您的帮助,非常感谢。
if let newCamera = cameraWithPosition(position: .back) {
//
}