2011-11-16 16 views
0

我在Android Camera API的onAutoFocus回調中遇到了一些問題。在我的Preview類的構造函數中,我將焦點模式設置爲FOCUS_MODE_AUTO,將閃光模式設置爲FLASH_MODE_AUTO。我呈現給用戶拍照的按鈕附有一個自定義動畫。當用戶按下按鈕,動畫開始也是如此自動對焦:在黑暗中的Android自動對焦回調

public void onAnimationStart(Animation animation) { 
    isAutoFocusing = true; 
    AutoFocusCallBackImpl autoFocusCallBack = new AutoFocusCallBackImpl(); 
    camera.autoFocus(autoFocusCallBack); 
} 

然後在onAutoFocus方法我拍照:

public void onAutoFocus(boolean success, Camera camera) { 
    if (camera != null) { 
     try { 
      camera.takePicture(shutterCallback, rawCallback, jpegCallback); 
     } catch(Exception e) { 
      // If something went wrong, we return 
      // the user to the dashboard. 
      setResult(Constants.PICTURE_CAMERA_ERROR); 
      finish(); 
     } 
    } 
} 

這完美的作品時,有足夠的光線(所以沒有閃光燈)。但在黑暗中,閃光燈熄滅並拍攝照片,但看起來照相機沒有正確對焦。我知道,如果相機不支持自動對焦,則立即調用onAutoFocus回調,但這顯然不是這種情況。在黑暗中是否無法自動對焦(即使使用閃光燈)?

回答

0

這顯然是一個硬件問題:要自動聚焦,您的設備需要一個圖像。沒有圖像(在黑暗中) - >沒有自動對焦。如果沒有圖像,相機無法判斷圖像是否清晰,這就是爲什麼在黑暗中對焦不起作用。 這就是爲什麼相機(我猜也有一些android設備)有一個小燈,它可以在對焦時打開。但我想大多數手機都沒有這個焦點燈:/