【发布时间】:2018-10-05 16:50:05
【问题描述】:
我正在使用 Camera2 API 开发自定义相机应用程序,并尝试通过搜索栏启用手动对焦。我参考了几篇文章,但面临可能来自我的 java 编码的错误。
我从“CameraCharacteristics features = manager.getCameraCharacteristics(cameraDevice.getId());”那行看到一条消息“错误:未报告的异常CameraAccessException;必须被捕获或声明为抛出”
你们中有人有想法吗?
public void onStartTrackingTouch(SeekBar seekBar) {
previewBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressChangedValue = progress;
CameraManager manager = (CameraManager)getSystemService(CAMERA_SERVICE);
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraDevice.getId());
float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float num = (((float)progress) * minimumLens / 100);
previewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num);
}
【问题讨论】:
-
您是否有权访问清单中启用的摄像头?这听起来好像访问冲突倾向于权限问题。
标签: android focus android-camera2 manual