¿Cómo debo ajustar los valores de exposición y balance de blancos para la cámara personalizada

¿Qué pasaría si no establezco la exposición y el balance de blancos al inicializar los parámetros de la cámara en una cámara personalizada de Android. ¿La cámara maneja éstos por sí sola o necesito especificar valores cuando se inicializa la cámara?

He tenido problemas con el flash en el pasado, la configuración de la exposición y el balance de blancos a valores específicos me ayudan a superar estos problems.I no tienen ningún plan para permitir que el usuario manualmente tinker con la exposición y / o la configuración de balance de blancos.

Tengo el código siguiente establecido:

if(isSupported(Camera.Parameters.SCENE_MODE_AUTO, mParameters.getSupportedSceneModes())) { mSceneMode=Camera.Parameters.SCENE_MODE_AUTO; mParameters.setSceneMode(mSceneMode); } int min=mParameters.getMinExposureCompensation(); int max=mParameters.getMaxExposureCompensation(); float step=mParameters.getExposureCompensationStep(); //do i need to setExposureCompensation here?? if(mSceneMode==Camera.Parameters.SCENE_MODE_AUTO && isSupported(Camera.Parameters.FLASH_MODE_AUTO,mParameters.getSupportedFlashModes())) { //ususally when I let the flash fire,the image is filled with light //all that does is make everything else undecipherable... mFlashMode=Camera.Parameters.FLASH_MODE_AUTO; mParameters.setFlashMode(mFlashMode); } if(isSupported(Camera.Parameters.WHITE_BALANCE_AUTO,mParameters.getSupportedWhiteBalance())) { mWhiteBalanceMode=Camera.Parameters.WHITE_BALANCE_AUTO; mParameters.setWhiteBalance(mWhiteBalanceMode); } 

He leído que los ciclos de autoexposición y de balance de blancos automáticos se detienen cuando se aplican autoExposureLock y autoWhiteBalanceLock. ¿Por qué y cómo debo usar estos bloqueos en el código de mi cámara?

Con base en mi propio desarrollo, la exposición y el balance de blancos se establecen de forma predeterminada en "Auto": Auto-exposición "y" Balance de blancos automático ".

Puede comprobar los modos compatibles con:

 mCameraParameters = mCamera.getParameters(); Log.i(TAG, "Supported Exposure Modes:" + mCameraParameters.get("exposure-mode-values")); Log.i(TAG, "Supported White Balance Modes:" + mCameraParameters.get("whitebalance-values")); 

Y compruebe los modos actuales con:

 Log.i(TAG, "Exposure setting = " + mCameraParameters.get("exposure")); Log.i(TAG, "White Balance setting = " + mCameraParameters.get("whitebalance")); 

Si quieres usar otro modo, puedes configurarlo de esta manera:

 mCameraParameters.set("exposure", "night"); mCamera.setParameters(mCameraParameters); 
  • Cómo comunicarse con la cámara habilitada para wifi
  • Ya sea Foto o Live Face Cómo comprobar con la cámara Android
  • Android - ¿Cómo puedo despertar el teléfono de un sueño duro para tomar una foto?
  • Tamaños de imagen compatibles con la cámara Android
  • Samsung Galaxy S: ¿Cómo determinar la presencia de la cámara frontal?
  • Espejo de la cámara frente a frente en Android
  • Android 5.0 Regiones de recorte incorrectas en la superficie de vista previa y capturada imagen fija
  • Cámara Android2 toque para enfocar
  • Camera.setPreviewDisplay () lanza Exception
  • Captura de pantalla de SurfaceView
  • vista previa de la cámara
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.