使用AVFoundation的不同分辨率预设

时间:2012-03-23 19:37:38

标签: iphone ios avfoundation avcapturesession

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

1 个答案:

答案 0 :(得分:2)

在拍摄照片之前设置新会话预设的属性

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

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

captureStillImageAsynchronouslyFromConnection: completionHandler:

然后改回低res(= prevPreset)

[captureSession beginConfiguration];
captureSession.sessionPreset = prevPreset;
[captureSession commitConfiguration];