2012-03-23 11 views
2

AVFoundationを使用して、オーディオ、ビデオ、写真の3つの記録モードを使用しようとしています。オーディオとビデオはうまく動作しますが、セッションプリセットをAVCaptureSessionPreset352x288に設定すると、静止画もその解像度で保存されるという問題があります。セッションのプリセットをAVCaptureSessionPresetPhotoに変更すると、写真は大きく見えますが、ビデオのサポートされていないプリセットではないため、ビデオの再生が停止します。私は複数のセッションを作成しようとしました、セッションのプリセットを再割り当てなど、何も動作するようです。誰でもビデオを低解像度で静止画でフル解像度で再生する方法はありますか?写真を撮る前にAVFoundationで異なる解像度のプリセットを使用する

答えて

2

[captureSession beginConfiguration]; 
captureSession.sessionPreset = prevPreset; 
[captureSession commitConfiguration]; 
(prevPresetを=)、あなたのキャプチャ画像ハンドラを呼び出す

captureStillImageAsynchronouslyFromConnection: completionHandler: 

、低解像度に戻って変更

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

をプリセット新しいセッションのプロパティを設定します
+0

この方法はフル解像度の画像を取得するのに適していますか(デバイスのフォトキャプチャ解像度に応じて5MPまたは8MPの画像を意味しますn)、またはビデオキャプチャでサポートされている高解像度で画像を取得するだけの改善ですか? 答えが「はい」の場合、.sessionPresetで写真キャプチャの解像度に使用する値は何ですか? (高解像度)写真をキャプチャするときにビデオプレビューがフリーズしますか? –

関連する問題