2011-01-06 134 views
6

我正在寫一個相機應用程序,無論環境光如何,都需要相同的曝光。不幸的是,setExposureCompensation()只能起到偏移量的作用。我可以關閉此自動調整功能嗎?或者這是更多的用戶前硬件更正?完全關閉自動曝光補償?

+0

由於舊,因爲這是,你可能已經移過這一點,但我已經更新了我的回答如下引用一個新的4.0+ API曝光鎖定。 – kcoppock 2014-07-08 23:20:21

回答

5

編輯:所以,對於Android 4.0及以上版本,有一個setAutoExposureLock(boolean)應該爲你需要的工作。它不允許您自己設置曝光,但在曝光確定之後,您可以將其鎖定到當前曝光。但是,您需要通過檢查isAutoExposureLockSupported()來保護它,以確保設備支持該功能。

爲了每次獲得相同的實際曝光,您需要能夠設置固定的ISO,快門速度和光圈。如您所說,曝光補償只能從照相機自動確定的測光曝光補償。據我所知,沒有內置的方式來設置Android中的ISO,快門速度或光圈值。

+0

我知道這個帖子很舊,但是,我一直在尋找解決方案來設置曝光值。看起來設置曝光值是可行的。只需查看商店中的任何相機應用程序即可設置曝光值。 – pree 2014-07-08 19:42:42

0

你應該瀏覽所有的相機參數,看看是否有任何與ISO,快門速度和光圈有關。

例子:

Camera.Parameters params = mCamera.getParameters(); 
String sParams = params.flatten(); 
Log.d("TAG", "camera flatten: "+sParams);