在android camera2 api 开始,提供了对焦距值(非zoom值)的设置,大概步骤如下:
(1)先关闭自动焦距模式 mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_OFF);
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_OFF);
(2)再设置上焦距值 mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, 焦距值)
注意点:在android 5.0后开始提供了camera2 api的支持,但不是所有的机器都可以支持焦距的设置。
前提检查是:
1.CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE值是否为空(一般非空才可以)。
2.还有检查一下HARD_LEVEL值是否达到。