如何在Android中管理相机快门速度和光圈?

时间:2012-02-03 10:56:54

标签: android camera

我想在Android中管理相机快门速度或光圈 但我对此一无所知。

问题在于:我必须在微距模式下拍照 闪光但是对于较新的智能手机,闪光灯太强了 这些照片几乎暴露无遗。我试过曝光 补偿电话,但这还不够。

通过使用相机软件,我注意到该应用程序管理 相机光圈,甚至可以拍摄出好的微距照片 虽然闪光灯被迫开启,所以我认为还有办法 那,你能帮助我吗?

我正在使用三星Nexus S和三星Galaxy W.白色 Samusng Galaxy ACE不存在图片问题:在此 案例似乎有一种硬件光功率 拍摄前的校准。

非常感谢!

3 个答案:

答案 0 :(得分:3)

很抱歉将此信息提交给您,但此功能根本不受支持,并且没有计划发布日期 查看功能/错误报告:

Modify Shutter speed and aperture of camera

答案 1 :(得分:2)

通过Android端的Camera 1 API,无法直接手动设置上述两个参数中的一个。这些特征都不能通过标准化方法查询,因为它不受支持。

当然,有一种方法可以通过特殊方法查询或设置这些属性:

// query all the settings you camera support (API 1)
mCamera.getParameters().flatten();
// set parameters - e.g. aperture
mCamera.getParameters().set("aperture", "80");

但接下来的事情是,特定设备必须支持这样的设置,这些设置因设备而异。在某些设备上可以设置某些值,而其他设备则不能设置,并且只能使用“自动”模式。

此外,配置字符串(例如“光圈”)和可能值的范围在设备上是不同的。出于这个原因,他们开发了Camera 2 API,它更加标准化并支持这些功能。此外,设置或查询特殊配置要容易得多。

曝光

通常所有移动设备都有内置的曝光控制,称为自动曝光(AE)控制。使用AE,设备默认自动控制图像的曝光,并在曝光的图像上方或下方均衡。

计量区域(MA)和曝光值(EV) - 补偿可能有所帮助。

// Android (API 1)
mCamera.getParameters().setMeteringAreas(List<Camera.Area> meteringAreas);
mCamera.getParameters().setExposureCompensation(int value);

答案 2 :(得分:1)

对不起它已经晚了但可能对其他人有帮助

设置光圈:

  

Camera.Parameters params = camera.getParameters();

     

params.set(“mode”,“m”);

     

params.set(“光圈”,“28”); //可以是28 32 35 40 45 50 56 63 71 80默认缩放