4

私はiphone4のバックカメラを使用しており、AVCaptureSessionを作成してそれにAVCaptureDeviceを追加するという標準的で時間のかかるプロセスを実行しています。

そのカメラのAvCaptureDeviceInputをセッションに接続する前に、ホワイトバランスと露出についての理解をテストしているので、これを試しています。

[self.theCaptureDevice lockForConfiguration:nil];
[self.theCaptureDevice setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
[self.theCaptureDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];
[self.theCaptureDevice unlockForConfiguration];

1-ホワイトバランスモードのさまざまなオプションが列挙型にあることを考えると、列挙型のTypedef変数に値が割り当てられなかったため、デフォルトは常にゼロであると思いました。デバッガーでブレークポイントを設定して値をpoすると、デフォルトのホワイトバランスモードが実際には2に設定されていることがわかります。残念ながら、AVCaptureDeviceのヘッダーファイルには、異なるカメラ設定のデフォルトが何であるかが示されていません。

2-これはばかげているように聞こえるかもしれませんが、アプリを停止すると、ホワイトバランス、露出モードのすべての設定がデフォルトに戻ると想定できますか。そのため、すぐに別のアプリを起動しても、カメラデバイスがこれらの「ハードウェア設定」に固執することはありません。

4

1 に答える 1

2

もう少し調査して助けた後、私は答えを見つけました:

1-すべてのカメラ設定(ホワイトバランス、フォーカス、露出)はデフォルトで「連続」設定になっているため、カメラはすべてに対して継続的に調整されます。列挙値については、AVCaptureDevice.hを確認してください。

2-すべてのアプリはサイロで機能します。カメラを呼び出すアプリがバックグラウンドに移動すると、カメラは停止します。新しいアプリがカメラを呼び出すと、上記のデフォルトが再度設定されます。

于 2012-11-07T22:57:00.450 に答える