Android学习笔记之——CaptureRequest的进一步探索

之前博文《Android学习笔记之——Camera2架构 》已经介绍过CaptureRequest了~

CaptureRequest表示一个捕捉的请求。我们可以为不同的场景(预览、拍照)创建不同的捕捉请求,并可以配置不同的捕捉属性,如:预览分辨率,预览目标,对焦模式、曝光模式等等。

通过 CameraDevice 对象的 createCaptureRequest() 方法得到一个 CaptureRequest.Builder 对象,基本配置都是通过该构造者来配置;最后通过 CaptureRequest.Builder 对象的 build() 方法便可得到 CaptureRequest 实例
 

 

SENSOR_EXPOSURE_TIME

This control is only effective if CaptureRequest#CONTROL_AE_MODE or CaptureRequest#CONTROL_MODE is set to OFF; otherwise the auto-exposure algorithm will override this value.

也就是说要把上面两者设置为off的时候才可以控制

通过下面简单的三句代码,即可控制相机的曝光度

builder.set(CaptureRequest.CONTROL_AE_MODE,0);
builder.set(CaptureRequest.CONTROL_MODE,0);
builder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, (long) 10000);

效果如下图所示

Android学习笔记之——CaptureRequest的进一步探索_第1张图片

遇到问题最快的解决办法就是查询官方的说明了

https://developer.android.com/reference/android/hardware/camera2/CaptureResult#SENSOR_EXPOSURE_TIME

 

参考资料

https://blog.csdn.net/gwplovekimi/article/details/106076963

https://blog.csdn.net/afei__/article/details/86326991

https://developer.android.com/reference/android/hardware/camera2/CaptureResult

你可能感兴趣的:(Android)