我正在尝试使用AVFoundation来具有三种记录模式:音频,视频和照片。音频和视频工作正常,但是问题是,如果我将会话预设设置为AVCaptureSessionPreset352x288,则静态图片也将以该分辨率保存。如果我将会话预设更改为AVCaptureSessionPresetPhoto,则照片看起来不错,但视频停止工作,因为该视频不支持该预设。我尝试创建多个会话,重新分配会话预设等,但是似乎没有任何效果。任何人都可以通过低分辨率的视频和全分辨率的静态图像来完成这项工作吗?

最佳答案

拍照之前,为新的会话预设设置属性

// captureSession is your capture session object
[captureSession beginConfiguration];
captureSession.sessionPreset = AVCaptureSessionPresetHigh;
[captureSession commitConfiguration];

然后调用捕获图像处理程序
captureStillImageAsynchronouslyFromConnection: completionHandler:

然后改回低分辨率(= prevPreset)
[captureSession beginConfiguration];
captureSession.sessionPreset = prevPreset;
[captureSession commitConfiguration];

关于iphone - 在AVFoundation中使用不同的分辨率预设,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9845490/

10-12 05:42