Camera2フォーカス設定の方法|Android開発

      2017/02/09

Camera2 APIでフォーカス設定を行う方法です。

定数定義

メンバ変数

フォーカス設定処理

  • パラメータfocusPointsはフォーカス中心位置です。プレビュー中の領域に対する割合(0.01(1%)~1.00(100%))を指定します。
  • フォーカス位置はCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEで取得できる矩形内の座標で指定します。
  • フォーカス位置は矩形で指定します。本サンプルではfocusPointsを中心として上下左右4dpを指定しています。

mOpenCameraIdはオープン中のカメラID。

厳密にはCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEで取得できる矩形とプレビューサイズのアスペクト比からフォーカス座標を調整する必要があります。今回はフォーカス処理のみを説明するため、その部分は含めていません。

[2016/12/14]記事を追加しました。
Camera2 フォーカス座標の補正について|Android開発

オートフォーカスリスナ

AF_SAME_STATE_REPEAT_MAXは同一の状態が延々通知されてフォーカス処理が終了しなくなることがあるためのガード処理です。

 - Android