2012-06-13 13 views
6

En mi aplicación actual, tengo una clase que sostiene una instancia de un objeto de cámara y tratando de hacer lo siguiente:Android 4 - Blanco Cámara de equilibrio se detiene después de enfoque automático

1) Esperar durante un tiempo determinado, por ejemplo, nada (esto se hace a través de un TimerTask) 2) Solicitud de enfocar a través de enfoque automático 3) En enfoque automático de devolución de llamada, solicitar OneShotPreviewCallback 4) En vista previa de devolución de llamada, guardar la imagen 5) Repita

Mientras que el balance de blancos está funcionando bien antes del primer autoenfoque, se detiene después de que se haya realizado el primer enfoque. Bueno, por supuesto busqué la API, y hay una declaración interesante en la descripción de autoFocus.

Pero la rutina de enfoque automático puede detener la exposición automática y el balance de blancos automáticos de forma transitoria durante el enfoque.

Pero parece que no se detiene solo transitoriamente, sino permanentemente. Bastante gracioso, con la posterior llamada de enfoque automático, la cámara intenta ajustar el blanqueamiento nuevamente, pero el valor correcto es mayormente solo con el segundo o tercer enfoque automático.

También intenté establecer el balance de blancos en el código, pero no cambió nada.

setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO); 

¿Alguien más conoce este problema o me falta algo? Sé que podría llamar permanentemente al autoenfoque para forzar el balance de blancos, pero esa no parece la manera óptima para mí, porque antes de la primera llamada auf autoFocus, funciona perfectamente bien.

P.S .: Estoy probando en un Samsung Galaxy S2 con Android 4.0.3.

+0

** Encontré el mismo comportamiento en Samsung galaxy S2 **, después de las primeras autorizaciones, detiene la actualización de WhiteBalance. – swiftBoy

Respuesta

1

Tengo el problema similar en Samsung Galaxy Ace: después del primer enfoque automático, el balance de blancos de la cámara se apaga y no se enciende de nuevo, sin importar cuánto haga el enfoque automático después.

Como no existen métodos de la API que contar cámara para reanudar el balance de blancos, y restablecer los parámetros de la cámara de enfoque automático de devolución de llamada no hace el truco, yo creo que es un error en el controlador de la cámara de los teléfonos Samsung - I' Probé mi aplicación con diferentes teléfonos y solo en este Samsung Galaxy Ace (GT-S5830, actualizado a Android 2.3.3), el balance de blancos de la cámara no se reanuda después del autoenfoque.

Tal vez deberíamos emitir un error de ticket en developer.samsung.com?

-1

Parece que mCamera.stopPreview(); mCamera.startPreview(); en AutoFocusCallback puede habilitar la exposición automática de nuevo, pero con una pausa muy breve en la vista previa como efecto secundario.

3

He encontrado un problema similar en Samsung Galaxy 2 Duos 2. En este caso, la configuración de exposición automática ha dejado de funcionar en lugar de la WB. Traté de activar (activar/desactivar) el parámetro de exposición automática y funcionó para mí.

mCamera.autoFocus(new Camera.AutoFocusCallback() { 

    @Override 
    public void onAutoFocus(boolean b, Camera camera) { 

     Camera.Parameters params = camera.getParameters(); 
     if (params.isAutoExposureLockSupported()) { 
      params.setAutoExposureLock(true); 
      camera.setParameters(params); 

      params = camera.getParameters(); 
      params.setAutoExposureLock(false); 
      camera.setParameters(params); 
     } 
    } 

}); 
Cuestiones relacionadas