2012-12-01 20 views
0

我正在寫一個應用程序,我正在使用AVCaptureSession和AVCaptureVideoDataOutput來獲取樣本緩衝區,做一些點檢測並實時顯示它。AVCaptureSession與videoDataOutput和stillImageOutput

用戶也有能力捕捉圖像。

問題是,因爲我使用相同的會話,捕獲靜止圖像的圖像質量與視頻的圖像質量相同。

我使用captureOutput:didOutputSampleBuffer:fromConnection:委託方法來捕捉畫面captureStillImageAsynchronouslyFromConnection:捕捉靜止圖像

我不知道是否有捕捉AVCaptureSessionPresetMedium幀的方式和拍攝時圖像,切換到AVCaptureSessionPresetPhoto?

回答

0

在會話運行時,您可以更改會話的sessionPreset屬性。

在拍攝圖像前將其更改爲AVCaptureSessionPresetPhoto,然後在captureStillImageAsynchronouslyFromConnection:completionHandler:的完成塊中返回AVCaptureSessionPresetMedium

當心改變預設將空白簡單的相機,而它改變了,因此它可能是很難捕捉到一個特定的幀的畫面瞬間,但從來沒有真正任何保證爲AVCaptureStillImageOutput的​​當它變得一事無成完成。 :)

+0

我曾嘗試過,但焦點和亮度看起來很可怕... –