在 Nexus 6P 上获取 CONTROL_AE_COMPENSATION_RANGE 是 [0,0]

Getting CONTROL_AE_COMPENSATION_RANGE is [0,0] on Nexus 6P

我想弄清楚如何在 camera2 上设置手动曝光补偿 API。据我了解,我需要查询 CameraCharacteristics 以获得 CONTROL_AE_COMPENSATION_RANGE,只要 CONTROL_AE_MODEON,我就应该能够获得一个范围。但是,我得到的只是 [0,0],这意味着设备不支持曝光补偿(这不太可能)或者我做错了什么。

我已经尝试在 mPreviewRequestBuilder 上专门设置以下内容:

    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);

之后我设置了重复请求:

        mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null,
                mBackgroundHandler);

我正在尝试使用以下方法获取范围:

        Range <Integer> range = mCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);

有什么建议吗?谢谢!

Nexus 6P 目前不支持曝光补偿,所以你看到的是正确的。

我们希望将来能解决这个问题。