2015-08-03 1 views
1

My Nexus 5 не поддерживает режим сцены HDR камеры api (а также camera2 api). Это связано с поддержкой производителя? Если да, то что я хочу реализовать режим сцены HDR в пользовательском приложении для камеры, как на фотокамере?Камера Android api SCENE_MODE_HDR не поддерживается в Nexus 5?

Я попытался использовать оба API-интерфейса камеры, но ни один из них не поддерживал параметр SCENE_MODE_HDR.

Использование android.hardware.camera API: (режим Бревна 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"); 
} 

И используя 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"); 

Я пропускаю что-то очевидное здесь?

ответ

2

Nexus 5 не поддерживает режим сцены HDR.

Режим HDR + в прилагаемом приложении камеры является частью самого приложения (есть blog post о том, как он работает поверх API камеры2).

+0

Ох. Благодаря! Таким образом, я не могу снимать HDR-изображения, используя только API-камеры Android, не так ли? – gopi1410

+0

Не без реализации HDR объединить себя или получить библиотеку откуда-то. Аппаратное обеспечение, безусловно, может обеспечить вам быстрый пакет изображений с различными настройками для получения необходимых данных, он просто не будет слияния. –

0

Вы попробовали?

Camera.Parameters cameraParameters = camera.getParameters(); 
cameraParameters.setSceneMode(Camera.Parameters.SCENE_MODE_HDR); 
camera.setParameters(cameraParameters); 
+0

Да, это вызовет исключение, если параметр не поддерживается. Перед установкой параметра ВСЕГДА рекомендуется проверить, поддерживается ли параметр или нет, путем получения списка доступных режимов. – gopi1410

+0

Pleae попробуйте запросить: SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.DefaultHDR) – Sampath

+0

какой класс 'SystemInfo'? Я говорю о android api здесь – gopi1410