虽然已知 AVCaptureDevice 下 activeFormat.videoFieldOfView 可以提供系统 API,但是经过实测效果有些差。
同时,我还找到了苹果的一份历史文档(
https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/Cameras/Cameras.html#//apple_ref/doc/uid/TP40013599-CH107-SW15 ),列举了到 iPhone X 在各种相机格式下的 FOV 。
经实际测试,其列举的数值与系统 API 提供的数值有偏差,并且在我的测试表现中,这个表格提供的数值比系统 API 更准确。
举例来说,文档中记录的 iPhoneX 在 1280*720 下,FOV 是 60.983 。
但是系统 API 给的 activeFormat.videoFieldOfView 给的结果是:69.654 :
'''
Active Format: <AVCaptureDeviceFormat: 0x2815080f0 'vide'/'420v' 1280x 720, { 1-240 fps}, fov:69.654, binned, supports vis, max zoom:67.50 (upscales @
1.50), AF System:1, ISO:24.0-960.0, SS:0.000045-1.000000>
''''
所以,这里有两个疑问🤔️:
1.为什么苹果提供的历史表格文档会与系统 API 输出有出入,并且准确度不一?
2.上述历史文档中只到 iPhone X 机型,怎么才能找到最新机型系列( iPhone XR/XS/11/11Pro 等)的文档?
求大神解答,谢谢 !
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/706172
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.