Android 4 - Баланс белого камеры останавливается после автофокуса

В моем текущем приложении у меня есть класс, содержащий экземпляр объекта Camera и пытающийся сделать следующее:

1) Подождать определенное время, например. ничего (это делается через TimerTask) 2) Запрос на фокусировку через автофокус 3) В обратном вызове autoFocus запросите OneShotPreviewCallback 4) В обратном вызове предварительного просмотра сохраните изображение 5) Повторите

Хотя баланс белого работал нормально до первой автофокусировки, он останавливается после выполнения первой фокусировки. Ну, конечно, я посмотрел API, и в описании автофокуса есть одно интересное утверждение.

Но процедура автоматической фокусировки может временно остановить автоматическую экспозицию и автоматический баланс белого во время фокусировки.

Но кажется, что он не прекращается лишь временно, а постоянно. Забавно, что при последующем вызове автофокуса камера снова пытается настроить отбеливание, но правильное значение в основном только со вторым или третьим автофокусом.

Я также пытался установить баланс белого в коде, но это ничего не изменило.

setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);

Кто-нибудь еще знает об этой проблеме, или я что-то упускаю? Я знаю, что могу постоянно вызывать автофокус для принудительной балансировки белого, но это не кажется мне оптимальным способом, потому что до первого вызова автофокуса он работает отлично.

P.S.: Тестирую на Samsung Galaxy S2 с Android 4.0.3.

6
задан s.krueger 13 June 2012 в 21:02
поделиться