了解AVCaptureDeviceFormat是否适合视频录制

时间:2015-04-19 14:09:19

标签: ios avfoundation avcapturesession

在我正在开发的应用中,我想让用户选择视频录制的分辨率。由于规范,我不能使用AVCaptureSessionPreset常数 获取格式列表的分辨率高于3000px,当然不能用于视频抓取,只能用于照片拍摄。

  

AVCaptureDeviceFormat:0x17020c830'vide'/'420f'3264x2448,{2- 30   fps},HRSI:3264x2448,fov:58.040,最大变焦:153.00(升级版@ 1.00),AF   系统:2,ISO:29.0-1856.0,SS:0.000013-0.500000

我无法找到一种方法来查看特定格式是否适合录制视频 问题是,如果我尝试抓取视频,使用这种解决方案应用程序会生成一个异常,表示没有活动或启用的连接。

  

- [AVCaptureMovieFileOutput   startRecordingToOutputFileURL:recordingDelegate:] - 没有活动/启用   连接。

我也不想对每种设备进行硬编码限制 我也不能尝试将限额限制为AVCaptureSessionPresetHigh,因为Apple note中所述的不是实际的最大格式。
有没有办法了解AVCaptureDeviceFormat是否适合抓取视频?

1 个答案:

答案 0 :(得分:2)

使用所选的-activeFormat设置所有连接后,检查当前AVCaptureConnection isActive或使用KVO观察属性-active。如果不是格式不可用于视频抓取,如果是,则可以使用它。