如何从android设备获取镜头焦距
通过android摄像头api2,我们可以设置镜头焦距(从0到10)。我的问题是如何获得镜头的焦距?例如,自动对焦后,我想知道当前的焦距。我应该调用哪个函数?谢谢。您需要创建CameraCaptureSession.CaptureCallback并将其提供给CaptureRequest.Builder如何从android设备获取镜头焦距,android,android-camera2,autofocus,Android,Android Camera2,Autofocus,通过android摄像头api2,我们可以设置镜头焦距(从0到10)。我的问题是如何获得镜头的焦距?例如,自动对焦后,我想知道当前的焦距。我应该调用哪个函数?谢谢。您需要创建CameraCaptureSession.CaptureCallback并将其提供给CaptureRequest.Builder mPreviewSession.capture(mPreviewBuilder.build(), captureCallbackHandler, mBackgroundHandler); 然后在
mPreviewSession.capture(mPreviewBuilder.build(), captureCallbackHandler, mBackgroundHandler);
然后在CaptureCallback中重写onCaptureCompleted方法,您应该能够从TotalCaptureResult读取镜头焦距
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。我也对这个问题感兴趣。如果您找到任何解决方案,请告诉我们。