如何配置AVCaptureSession以获得高分辨率静态图像和低分辨率(视频)预览?

SeP*_*läm 5 camera avfoundation ios avcapturesession

我想使用捕获高分辨率的静态图像AVCaptureSession。因此AVCaptureSession预设设置为Photo

到目前为止,此方法运行良好。在iPhone 4上,最终的静态图像分辨率最大为2448x3264像素,预览(视频)分辨率为852x640像素。

现在,由于已分析预览帧以检测场景中的对象,因此我想降低其分辨率。如何才能做到这一点?我尝试将AVVideoSettings宽度/高度设置为较低AVCaptureVideoDataOutput,但这会导致以下错误消息:

AVCaptureVideoDataOutput setVideoSettings:] - videoSettings dictionary contains one or more unsupported (ignored) keys: (AVVideoHeightKey, AVVideoWidthKey
Run Code Online (Sandbox Code Playgroud)

因此,似乎这不是配置AVCaptureVideoDataOutput/ 接收的预览帧大小的正确方法AVCaptureVideoDataOutputSampleBufferDelegate。您有任何想法如何配置预览帧的分辨率?

任何建议都欢迎,谢谢。

SeP*_*läm 1

仅供记录:我最终在瞄准相机时进行了预设AVCaptureSession配置Low。一旦触发快门,应用程序就会切换到预设Photo,执行对焦运行并拍照。这样拍摄一张照片需要 1 到 2.5 秒的时间,虽然不是很好,但至少是一种解决方法。