Nella mia applicazione corrente, ho una classe in possesso di un istanza di un oggetto Camera e cercando di effettuare le seguenti operazioni:Android 4 - l'obiettivo Bianco Bilanciamento ferma dopo autofocus
1) Attendere per un tempo determinato, per esempio nulla (questo viene fatto attraverso un TimerTask) 2) Richiesta di mettere a fuoco tramite autofocus 3) Nella messa a fuoco automatica di richiamata, richiesta OneShotPreviewCallback 4) In anteprima callback, salvare l'immagine 5) Ripetere
Mentre il bilanciamento del bianco sta lavorando bene prima della messa a fuoco automatica, si ferma dopo che è stata eseguita la prima messa a fuoco. Beh, ovviamente ho cercato l'API, e c'è una dichiarazione interessante nella descrizione di autoFocus.
La routine di messa a fuoco automatica può interrompere temporaneamente l'esposizione automatica e il bilanciamento del bianco automatico durante la messa a fuoco.
Ma sembra che non si fermi solo transitoriamente, ma in modo permanente. Abbastanza divertente, con la successiva chiamata di autoFocus, la fotocamera tenta di regolare nuovamente lo sbiancamento, ma il valore corretto è in gran parte solo con la seconda o terza messa a fuoco automatica.
Ho anche provato a impostare il bilanciamento del bianco nel codice, ma non ha cambiato nulla.
setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);
Qualcun altro conosce questo problema o mi manca qualche punto? So che potrei chiamare in modo permanente autoFocus per forzare il bilanciamento del bianco, ma questo non mi sembra il modo ottimale, perché prima della prima chiamata auf AutoFocus, funziona perfettamente.
P.S .: sto testando su un Samsung Galaxy S2 con Android 4.0.3.
** Ho trovato stesso comportamento sul Samsung Galaxy S2 **, Dopo le prime autofoucs si ferma l'updation WhiteBalance. – swiftBoy