在安卓摄像头api2中,我们可以设置LENS_FOCUS_DISTANCE (从0到10)。我的问题是如何获得LENS_FOCUS_DISTANCE?例如,在自动对焦之后,我想知道当前的对焦距离。我应该调用哪个函数?谢谢。
发布于 2018-01-18 10:48:41
您需要创建一个CameraCaptureSession.CaptureCallback并将其提供给您的CaptureRequest.Builder。
mPreviewSession.capture(mPreviewBuilder.build(), captureCallbackHandler, mBackgroundHandler);然后覆盖CaptureCallback中的onCaptureCompleted方法,您应该能够从TotalCaptureResult中读取LENS_FOCUS_DISTANCE。
private CameraCaptureSession.CaptureCallback captureCallbackHandler = new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) {
super.onCaptureCompleted(session, request, result);
float focusDistance = result.get(CaptureResult.LENS_FOCUS_DISTANCE);
}
}在自动聚焦到我的nexus5而不是s8上之后,我能够读到这段文字。也许三星限制了这一功能,以促进他们自己的相机sdk的使用。
https://stackoverflow.com/questions/42494096
复制相似问题