我正在使用swift和iPhone 7 Plus。 我正在使用builtInWideAngleCamera和builtInTelephotoCamera。即使我无法同时获得2张图像,这也很棒。
我在Apple文档中看到AVCaptureDeviceType包含一个builtInDualCamera条目。这个设备在avfoundation中的目的是什么,因为我们不能用apple API做任何事情(缩放,深度效果)?
换句话说,在使用AVCaptureDeviceType,avcapturesession和东西时,我看不出builtInDualCamera和builtInWideAngleCamera之间的区别
由于
答案 0 :(得分:5)
Duel-Camera选项是选择Camera app之类的行为,让系统决定自动选择在捕获过程中使用哪个摄像头,并且可以组合来自两个摄像头的数据以改善输出。此外,它不支持任何RAW照片捕捉,OIS,HFR和Slo mo。
有关详情,请查看iOSDeviceCompatibility
来自文档:
双摄像头
某些iOS设备包含一个双摄像头 - 两个独立的背面 可以作为单个捕获设备一起工作的相机。什么时候 您可以使用双摄像头在设备上设置捕获会话 选择只使用广角相机,只使用长焦相机, 或双摄像头。选择双摄像头捕获设备提供 行为类似于内置的相机应用程序 - 系统自动 选择在捕获期间使用哪个相机,并且可以组合来自的数据 这两款相机都可以提高拍摄输出效果。
AVCaptureDevice设备和devicesWithMediaType:方法是 在iOS 10中已弃用,并且不提供对双摄像头的访问权限 设备(相反,它们只提供广角相机设备)。至 确定设备是否包含双摄像头并选择它 捕获,您可以:
- 调用AVCaptureDevice defaultDeviceWithDeviceType:mediaType:position:方法,传递 builtInDuoCamera设备类型。如果此方法返回非nil,则为iOS 设备包含双摄像头。 (如果此方法返回nil,则可以 再次调用它,将builtInWideAngleCamera设备类型传递给 获取默认的后置摄像头。)
- 创建一个 AVCaptureDeviceDiscoverySession对象,传递设备属性 您想用于捕获,并枚举其设备列表以供选择 用于捕获会话的设备。
使用双摄像头时 捕获设备,光学图像稳定(OIS),RAW照片捕获, 高帧率(HFR)/慢动作视频,以及大多数手动控制 不可用。要使用这些功能,请特别选择其中一个 广角或长焦捕捉设备。 (对于OIS,特别选择 广角相机;长焦相机不支持光学 图像稳定。)
答案 1 :(得分:0)
builtInDualCamera
就像一个“简单模式”,在变焦时无缝地自动切换广角和长焦。
捕获视频时,ramp
(逐渐缩放)可以从1x到16x无缝连接。而手动处理将会更加有效,并且在切换设备时可能会滞后。