4

私は現在、プレビュー画面とオーバーレイを備えたカスタムカメラ画面を備えたカメラ機能を備えたアプリを開発しています。

UIScreenCaptureの根絶に従って、AVFoundationのクラスとメソッドを使用しています。

私が抱えている問題は、AVCaptureSessionから取得したプレビューデータがズームインしすぎていることです。その画面で写真を撮り、iPhoneを動かさずに、iPhoneのデフォルトのカメラアプリで別の写真を撮ると、ズームの違いが大きすぎます。

アプリのズームをiPhoneカメラアプリのデフォルトと同じにする必要があります。

AVCaptureVideoPreviewLayer.videoGravityを3つの可能な値のいずれかに変更してみましたが、役に立ちませんでした。

どうぞ、この問題のリードは本当にありがたいです。

4

3 に答える 3

3

Arcantosの解決策はほとんど正しかった。これは、iPhone 3G(または640x480をサポートするカメラを搭載したデバイス)を使用している場合に機能します。iPhone4ではいくつかの問題が発生する可能性があります。

より正しい方法は、このプリセットの可用性をテストして適用することです。

captureSession.sessionPreset = AVCaptureSessionPresetPhoto;

これは、ネイティブ解像度に関係なく、生のカメラデータを使用します。

于 2011-02-07T21:40:36.740 に答える
2

解決の問題であることが判明しました。を使用して修正されました

myCaptureSession.sessionPreset = AVCaptureSessionPreset640x480

iPhone 3g はそれをサポートしていないことに注意してください。そのため、デバイスがサポートしているかどうかを確認する必要があります。

[[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] supportsAvCaptureSessionPreset:AVCaptureSessionPreset640x480]
于 2010-10-13T18:08:16.897 に答える
0

プレビューペインのアスペクト比は、カメラキャプチャデータのアスペクト比と同じですか?そうでない場合、OSは、データを要求されたアスペクト比に合わせるためにズームを変更している可能性があります。

于 2010-09-07T16:18:44.730 に答える