2011-01-06 382 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);