2016-08-12 13 views
0

AndroidでCamera API 2を使用していて、自動フォーカス機能を適用しようとしています。オートフォーカスはバックカメラではうまく動作しますが、フロントカメラではうまく動作しません。Android Camera API 2フロントカメラの自動フォーカス

(Iは、Android 5.1と6.0のデバイスを使用しています)

詳細:

これは、オートフォーカス開始トリガです:

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START); 

が、これはCameraCaptureSession.CaptureCallback

です
Integer afState = result.get(CaptureResult.CONTROL_AF_STATE); 

フロントカメラを使用している場合、afStateの値は常に0(INACTIVE)です。しかし、バックカメラでは、その値が2(CONTROL_AF_STATE_PASSIVE_FOCUSED - フォーカスしようとする)から4(フォーカスが成功したときはCONTROL_AF_STATE_FOCUSED_LOCKED)または5(フォーカスが失敗したときにCONTROL_AF_STATE_NOT_FOCUSED_LOCKED)に変更されます。

私はフロントカメラにオートフォーカスを使用できない理由を知っていますか?

答えて

4

あなたのフロントカメラにはオートフォーカスがないと思います。 は、それはあなたのカメラはフォーカスレンズを固定したことを意味し、のみ利用可能AFモードがCameraMetadata.CONTROL_AF_MODE_OFFある場合は、

int[] afAvailableModes = cameraCharacteristics.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES); 

を実行することができ、これを確認するには。そしてdocumentationによれば、android.control.afModeAF_MODE_OFFまたはAF_MODE_EDOFのとき、状態は常にINACTIVEのままです。

関連する問題