Camera2 カメラIDの取得方法|Android開発

      2018/05/24

Camera2 APIでのカメラID取得方法です。
下記では、背面カメラのIDを取得しています。
この処理は、TextureViewがavailableになる前でも実行可能です。

public List getBackCameraIds() {
    CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);

    ArrayList backIds = new ArrayList<>();
    try {
        String[] idList = cameraManager.getCameraIdList();
        for (String id : idList) {
            CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id);
            Integer lensFacing = characteristics.get(CameraCharacteristics.LENS_FACING);
            if (lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {
                backIds.add(id);
            }
        }

    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
    return backIds;
}

前面カメラのIDを取得したい場合は、CameraCharacteristics.LENS_FACING_BACKCameraCharacteristics.LENS_FACING_FRONTにします。

 - Android