2017-02-27 24 views
1

안드로이드 카메라 api2에서 우리는 LENS_FOCUS_DISTANCE (0에서 10까지)를 설정할 수 있습니다. 내 질문은 LENS_FOCUS_DISTANCE을 (를) 얻는 방법입니다. 예를 들어 자동 초점을 맞춘 후 현재 초점 거리를 알고 싶습니다. 어떤 기능을 호출해야합니까? 감사.안드로이드 장치에서 LENS_FOCUS_DISTANCE을 얻는 방법

+0

이 질문에 대해서도 흥미가 있습니다. 해결책을 찾으면 알려주세요. –

답변

0

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 사용을 홍보하는 데 제한했습니다.