我试图使用AVFoundation实现三种录制模式:音频、视频和照片。音频和视频都能正常工作,但问题在于,如果我将会话预设设置为AVCaptureSessionPreset352x288,则静态图片也以该分辨率保存。如果我将我的会话预设更改为AVCaptureSessionPresetPhoto,则照片看起来很好,但视频停止工作,因为这不是支持的视频预设。我尝试创建多个会话,重新分配会话预设等,但似乎没有什么作用。有没有办法使视频以低分辨率工作,并且静态图像以全分辨率显示?
在拍照之前,设置一个新的会话预设属性。
// captureSession is your capture session object
[captureSession beginConfiguration];
captureSession.sessionPreset = AVCaptureSessionPresetHigh;
[captureSession commitConfiguration];
captureStillImageAsynchronouslyFromConnection: completionHandler:
然后切换回低分辨率 (= 上一个预设)
[captureSession beginConfiguration];
captureSession.sessionPreset = prevPreset;
[captureSession commitConfiguration];