2011-01-06 9 views
6

Estoy escribiendo una aplicación de cámara que requiere la misma exposición independientemente de la luz ambiental. Desafortunadamente, setExposureCompensation() solo actúa como un desplazamiento. ¿Puedo desactivar este ajuste automático o es una corrección de hardware previa al usuario?¿Desactivar completamente la compensación de exposición automática?

+0

Tan antigua como esta es, probablemente ha movido más allá de esto, pero he actualizado mi respuesta a continuación para hacer referencia a un nuevo 4.0+ API para la exposición de bloqueo. – kcoppock

Respuesta

5

EDITAR: Entonces, para Android 4.0 y superior, hay un setAutoExposureLock(boolean) que debería funcionar para lo que necesita. No le permite establecer la exposición usted mismo, pero después de que se determina la exposición, puede bloquearla en su exposición actual. Sin embargo, debe protegerlo con un cheque para isAutoExposureLockSupported(), para asegurarse de que el dispositivo sea compatible con esa característica.

Para obtener la misma exposición real cada vez, debe ser capaz de establecer un ISO fijo, la velocidad de obturación y la apertura. Como dijiste, la compensación de exposición solo se compensa con la exposición medida, que la cámara determina automáticamente. Que yo sepa, no existe una forma integrada para establecer el ISO, la velocidad de obturación o los valores de apertura en Android.

+0

Sé que esta publicación es muy antigua, sin embargo, he estado buscando la solución para establecer el valor de exposición. Parece que es factible establecer el valor de exposición. Solo mira cualquier aplicación de cámara en la tienda y te permite establecer el valor de exposición. – pree

+0

@pree ¿Revisó los documentos? http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setExposureCompensation(int) – kcoppock

+0

Oh, sí, por supuesto. Solo menciona las API setExposureCompensation() etc como se mencionó anteriormente también. Sin embargo, tengo curiosidad por saber cómo otras aplicaciones de cámara (estándar uno y google play market) pueden establecer valores de exposición. También publiqué mi pregunta aquí: http://stackoverflow.com/questions/24620850/android-camera-settings-change-exposure-programatically – pree

0

Debería examinar todos los parámetros de la cámara para ver si hay alguno relacionado con ISO, la velocidad de obturación y la apertura.

Ejemplo:

Camera.Parameters params = mCamera.getParameters(); 
String sParams = params.flatten(); 
Log.d("TAG", "camera flatten: "+sParams); 
Cuestiones relacionadas