4

我有这个相机应用程序,我想在 didOutputSampleBuffer 回调中获取最大分辨率图像。现在我在回调中收到的所有帧都是 852 x 640(我使用 iPhone 4 进行测试)。只有当我请求静态图像捕获(通过 captureStillImageAsynchronouslyFromConnection)时,我才会得到一个 - 并且只有一个 - 帧对应于以设备的最高分辨率 - 2592x1936 捕获的实际图像。

是否可以进行设置,以便我在 didOutputSampleBuffer 中不断接收分辨率帧 - 2592x1936?然后我想将其中一些帧保存为回调中的图像,而不必通过 captureStillImageAsynchronouslyFromConnection 来捕获图像。

4

1 回答 1

1

视频输出不支持您在捕获静止图像时看到的全分辨率。查看使用捕获输出从会话中获取输出中给出的表格以获取支持的分辨率列表。

如果要更改分辨率,请在相机会话中设置适当的设置,如下所示:

cameraSession.sessionPreset = AVCaptureSessionPresetHigh;

请注意,AVCaptureSessionPresetPhoto视频捕获是不可能的。

于 2013-02-24T16:14:56.257 回答