iOS使用低AVCaptureSessionPreset进行视频输出时捕获高分辨率照片

我有几个与下面这个问题相同的问题:

Switching AVCaptureSession preset when capturing a photo

然而问题是(自我)答案对我没有帮助.我想知道是否有人知道如何做到这一点.

我正在捕捉视频帧,所以我可以处理它们并用它们做些什么.为此,我使用的是AVCaptureSessionPrese640x480,因为我需要在获得合适的计算帧时获得的所有帧速率.现在,当用户想要拍摄照片时,我希望他能够以尽可能高的分辨率拍摄照片.为此,我不赞成:

[captureSession beginConfiguration];
captureSession.sessionPreset = <some_preset>
[captureSession commitConfiguration];

我试过这个,在某些情况下我收到了错误;但由于某种原因,屏幕上仍有明显的滞后现象,我不再相信这一点了.

有没有明确的方法从相机获取高分辨率图像,同时以非常低的分辨率(例如640×480)捕获视频输出?

最佳答案 对于iPhone6和iPhone6,您可以使用新的API

[AVCaptureStillImageOutput setHighResolutionStillImageOutputEnabled:YES]

当此标志打开时(默认情况下是关闭),您可以在使用低分辨率捕获会话时捕获高分辨率静止图像.

点赞