2017-01-22 5 views
0

googlesampleを使ってカメラのAndroidアプリを作成します。私はそのカメラがビデオの録画開始時にフォーカスを合わせ、ビデオ録画中にフォーカスボタンを押すたびにフォーカスを合わせる必要があります。どのようにそれを実装する方法の例を見つけることができますか?Camera 2 Androidでビデオを録画中にボタンをクリックしてカメラの焦点を合わせるには?

これが私のCamera2VideoFragmentであり、それはあなたがキャプチャお使いのカメラのセッションにフォーカス制御を追加するためにコールバックを追加する必要がparentクラス

答えて

0

です。

private boolean firstCaptureDone = false; 
private CameraCaptureSession.CaptureCallback captureCallback = null; 

captureCallback = new CameraCaptureSession.CaptureCallback() { 

      @Override 
      public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) { 
       super.onCaptureCompleted(session, request, result); 

      boolean cameraFocussed = false; 

      private void process(CaptureResult result) { 
       int afState = result.get(CaptureResult.CONTROL_AF_STATE); 
       if (CaptureResult.CONTROL_AF_TRIGGER_START == afState) { 
        if (cameraFocussed) { 
         if (firstCaptureDone) { 
          firstCaptureDone = true; 
          Log.d(TAG, "firstCapture Done with focus"); 
         } 
        } 
       } 
       if (CaptureResult.CONTROL_AF_STATE_PASSIVE_FOCUSED == afState) { 
        cameraFocussed = true; 
       } else { 
        cameraFocussed = false; 
       } 
      } 

     }; 


mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), captureCallback, mBackgroundHandler); 
関連する問題