第一个关于堆栈溢出的问题!这个网站多年来一直帮助我解决编码和技术问题。我总是在这里找到每一个答案,而且从来不需要注册和询问任何问题!但是这一个..。我就是不明白!?
我正在构建一个与iOS10兼容并与iPhone 7双摄像头兼容的ios应用程序。现在,使用以下代码启动AVCaptureDevice时:
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithDeviceType: AVCaptureDeviceTypeBuiltInDualCamera
mediaType: AVMediaTypeVideo
position: preferredPosition];
if(videoDevice == nil){
videoDevice = [AVCaptureDevice defaultDeviceWithDeviceType: AVCaptureDeviceTypeBuiltInWideAngleCamera
mediaType: AVMediaTypeVideo
position: preferredPosition];
}非常简单,如果没有比AVCaptureDeviceTypeBuiltInWideAngleCamera更好的AVCaptureDeviceTypeBuiltInDualCamera。
在一台64 6s的iPhone 6s(iOS10.2)上,它的工作就像一个护身符!但在相同的iPhone 6s 64 on (iOS10.2)上测试时,该设备在线返回EXC_BAD_ACCESS:
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithDeviceType: AVCaptureDeviceTypeBuiltInDualCamera
mediaType: AVMediaTypeVideo
position: preferredPosition];在那个设备上,只有当我完全移除双摄像头并将所有东西都设置为广角时,它才能工作。它应该只返回nil并切换到广角!会有什么问题...僵尸进程不会返回任何有用的东西。我的猜测是第二个iPhone是有缺陷的。你们觉得怎么样?
发布于 2017-04-09 01:55:11
这是非常奇怪的,有完全相同的问题和变化
AVCaptureDeviceTypeBuiltInDualCamera至
AVCaptureDeviceTypeBuiltInDuoCamera解决了问题..。但奇怪的是,Duo已被弃用,而应使用dual
AVF_EXPORT AVCaptureDeviceType const AVCaptureDeviceTypeBuiltInDuoCamera NS_DEPRECATED_IOS(10_0, 10_2, "Use AVCaptureDeviceTypeBuiltInDualCamera instead") __TVOS_PROHIBITED;发布于 2017-01-15 17:54:14
我遇到了同样的问题,下面的解决方案对我有效。
请尝试在info.plist“隐私-摄像头使用说明”中添加以下标志,并为其设置任意字符串值。保存并运行应用程序。
另外,如果您想使用图片库,请添加"Privacy - photo library Usage Description“键,并设置要在权限弹出窗口中显示的任何字符串值。
发布于 2017-04-20 21:13:24
也有同样的问题。在我的例子中,有一台设备的摄像头无法工作!我去了相机应用程序,尝试使用相机,但不起作用。重新启动了设备,摄像头还是不能工作。在这种情况下,AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithDeviceType:AVCaptureDeviceTypeBuiltInDualCamera mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];只返回nil;
我拿了另一个摄像头工作正常的设备。现在,代码中的同一行崩溃了。
https://stackoverflow.com/questions/41602252
复制相似问题