【发布时间】:2021-01-26 05:54:59
【问题描述】:
我正在尝试在 Android camera2 API 中设置焦距,但得到 Attempt to invoke virtual method 'float java.lang.Float.floatValue()' on a null object reference。我在三星 android 10 上试过,效果很好。当我尝试使用 redmi photo 时出现此错误,有人知道如何解决此问题吗?
这是我的代码:
public void focus(float distance) {
CameraManager cameraManager = (CameraManager) app.getSystemService(Context.CAMERA_SERVICE);
CameraCharacteristics characteristics = null;
try {
characteristics = cameraManager.getCameraCharacteristics(cameraID);
} catch (CameraAccessException e) {
e.printStackTrace();
}
float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float num = (distance * minimumLens / 100);
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
captureRequestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num);
refreshCamera();
}
【问题讨论】: