Использование различных предустановок разрешения с AVFoundation - PullRequest
2 голосов
/ 23 марта 2012

Я пытаюсь использовать AVFoundation для трех режимов записи: аудио, видео и фото. Аудио и видео работают просто отлично, но проблема в том, что, если я установил предустановку сеанса в AVCaptureSessionPreset352x288, неподвижные изображения также будут сохранены с этим разрешением. Если я изменю свою предварительную настройку сеанса на AVCaptureSessionPresetPhoto, то фотографии выглядят великолепно, но видео перестает работать, потому что это не поддерживаемая предварительная настройка для видео. Я попытался создать несколько сессий, переназначить предустановки сессий и т. Д., Но ничего не работает У кого-нибудь есть способ заставить это работать с видео в низком разрешении и неподвижными изображениями в полном разрешении?

1 Ответ

2 голосов
/ 04 сентября 2012

перед съемкой установите свойство для новой предустановки сеанса

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

затем вызовите обработчик захваченного изображения

captureStillImageAsynchronouslyFromConnection: completionHandler:

, затем вернитесь к низкому разрешению (= prevPreset)

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