私の Nexus 5 は、カメラ API (および camera2 API) の HDR シーン モードをサポートしていません。これはメーカーサポートによるものでしょうか?もしそうなら、ストックカメラのようにカスタムカメラアプリにHDRシーンモードを実装したいですか?
両方のカメラ API を使用してみましたが、SCENE_MODE_HDR パラメータをサポートしているものはありませんでした。
APIの使用android.hardware.camera
: (ログ HDR モードはサポートされていません)
List<String> sceneModes = params.getSupportedSceneModes();
if (sceneModes.contains(Camera.Parameters.SCENE_MODE_HDR)) {
Log.d("HDR", "HDR mode supported");
params.setSceneMode(Camera.Parameters.SCENE_MODE_HDR);
} else {
Log.d("HDR", "HDR mode not supported");
}
APIの使用android.hardware.camera2
: (ログ HDR モードはサポートされていません)
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
int[] sceneModes= characteristics.get(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES);
boolean isHDRsupported = false;
for (int sceneMode : sceneModes) {
if (sceneMode == CameraCharacteristics.CONTROL_SCENE_MODE_HDR) {
isHDRsupported = true;
break;
}
}
Log.d("HDR", "HDR mode " + (isHDRsupported ? "" : "not ") + "supported");
ここで明らかな何かが欠けていますか?