Jak ustawić wartości ekspozycji i balansu bieli dla aparatu niestandardowego
Co się stanie, jeśli nie ustawię ekspozycji i balansu bieli podczas inicjalizacji parametrów aparatu w niestandardowej kamerze z systemem Android. Czy kamera obsługuje je samodzielnie lub czy muszę określić wartości, gdy kamera jest inicjowana?
W przeszłości miałem problemy z lampą błyskową, ustawianie ekspozycji i balansu bieli na określone wartości pomaga mi przezwyciężyć te problemy. Nie mam żadnych planów pozwalających użytkownikowi ręcznie majstrować przy ustawieniach ekspozycji i / lub balansu bieli.
Mam skonfigurowany następujący kod:
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);
}
Przeczytałem, że cykle automatycznej ekspozycji i automatycznej aktualizacji balansu bieli są zatrzymywane, gdy stosowane są autoExposureLock i autoWhiteBalanceLock. Dlaczego i jak należy używać tych blokad w kodzie aparatu?