【发布时间】:2017-02-17 13:52:29
【问题描述】:
在我的 Android Camera2 API 项目中,我想为我的曝光计算设置一个区域。不幸的是,它不起作用。另一方面,焦点区域可以正常工作。
设备:三星 S7 / Nexus 5
1.) CONTROL_AF_MODE 和 CONTROL_AE_MODE 的初始值
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
2.) 创建 MeteringRectangle 列表
meteringFocusRectangleList = new MeteringRectangle[]{new MeteringRectangle(0,0,500,500,1000)};
3.) 检查设备是否支持并设置 CONTROL_AE_REGIONS(与 CONTROL_AF_REGIONS 相同)
if (camera2SupportHandler.cameraCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE) > 0) {
camera2SupportHandler.mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_REGIONS, meteringFocusRectangleList);
}
4.) 告诉相机启动曝光控制
camera2SupportHandler.mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CameraMetadata.CONTROL_AE_PRECAPTURE_TRIGGER_START);
CONTROL_AE_STATE 始终处于 CONTROL_AE_STATE_SEARCHING 中,但不使用配置的区域...
【问题讨论】:
标签: android android-camera android-camera2