안녕하세요
Androidx버젼에서 camera2 버젼으로 노출값 설정을 하고 싶습니다.
"Range<Integer> range1 = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);" 에서
null 값이 계속 들어오고 있는데요...
관련 class 확인해도 방법을 잘 모르겠습니다.ㅠㅠ 몇 일째 써칭중인데
제 머리로는 안될거 같아 이렇게 도움을 구해 봅니다..
public void setExposure(double exposureAdjustment) {
Range<Integer> range1 = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);
int minExposure = range1.getLower();
int maxExposure = range1.getUpper();
if (minExposure != 0 || maxExposure != 0) {
float newCalculatedValue = 0;
if (exposureAdjustment >= 0) {
newCalculatedValue = (float) (minExposure * exposureAdjustment);
} else {
newCalculatedValue = (float) (maxExposure * -1 * exposureAdjustment);
}
if (mPreviewRequestBuilder != null) {
try {
CaptureRequest captureRequest = mPreviewRequestBuilder.build();
mCaptureSession.setRepeatingRequest(captureRequest, camera2FocusMeteringManager.mCaptureCallbackListener, mBackgroundHandler);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, (int) newCalculatedValue);
mCaptureSession.capture(captureRequest, camera2FocusMeteringManager.mCaptureCallbackListener, mBackgroundHandler);
} catch (CameraAccessException e) {
}
}
}
}