1
從android攝像頭api2中,我們可以設置LENS_FOCUS_DISTANCE(從0到10)。我的問題是如何獲得LENS_FOCUS_DISTANCE?例如,在自動對焦後,我想知道當前的對焦距離。我應該打電話給哪個功能?謝謝。如何從android設備獲取LENS_FOCUS_DISTANCE
從android攝像頭api2中,我們可以設置LENS_FOCUS_DISTANCE(從0到10)。我的問題是如何獲得LENS_FOCUS_DISTANCE?例如,在自動對焦後,我想知道當前的對焦距離。我應該打電話給哪個功能?謝謝。如何從android設備獲取LENS_FOCUS_DISTANCE
您將需要創建一個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的使用。
我對這個問題也很感興趣。請讓我們知道,如果你找到任何解決方案。 –