AVCaptureDeviceInput 初始化失败
Posted
技术标签:
【中文标题】AVCaptureDeviceInput 初始化失败【英文标题】:AVCaptureDeviceInput Initialization Fails 【发布时间】:2019-05-06 04:40:56 【问题描述】:我正在尝试访问 iPhone X 上的前置摄像头,但是当我尝试创建 AVCaptureDeviceInput 对象时,初始化失败。
let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .front)
if let device = deviceDiscoverySession.devices.first
if let deviceInput = try? AVCaptureDeviceInput(device: device)
【问题讨论】:
找不到代码有什么问题。你在其他设备上测试过吗?它在那里工作吗?? 我没有任何其他设备可以测试它。我从另一个有效的应用程序中获得了相同的代码 sn-p,不知道为什么。这段代码似乎不依赖任何其他变量let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .front) if let device = deviceDiscoverySession.devices.first if let deviceInput = try? AVCaptureDeviceInput(device: device)
尝试设置sessionPreset
。也许这对您有用,您可以使用以下代码:capture_session_name.sessionPreset = AVCaptureSession.Preset.hd1280x720
.
试过了,不幸的是没有运气
【参考方案1】:
您的应用是否通过了所需的用户授权?如果您没有按照documentation 进行必要的授权,则可能会发生这种情况。该应用程序将自动请求授权以使用相机,但您还应该在 info.plist 中提供使用说明...
【讨论】:
以上是关于AVCaptureDeviceInput 初始化失败的主要内容,如果未能解决你的问题,请参考以下文章
如果在 iOS 设置中禁用相机,则在 AVCaptureDeviceInput 崩溃