2016-10-22 13 views
2

私はSamsung S5にcamera2APIと協力し、私はフォーカスの状態を取得しようとした場合、私はCaptureResult.CONTROL_AF_STATE_INACTIVEに等しい値0を取得...なぜ私はresult.get(CaptureResult.CONTROL_AF_STATE)を取得しますか? ==無効ですか?

コードのスニップがあります:

private void process(CaptureResult result) { 
     switch (mState) { 
      case CameraHelper.STATE_PREVIEW: { 
       // We have nothing to do when the camera preview is working normally. 

here i get ---> Integer afState = result.get(CaptureResult.CONTROL_AF_STATE); 

       if (CaptureResult.CONTROL_AF_TRIGGER_START == afState) { 
        if (areWeFocused) { 
         Log.e("---!!! HERE !!!--- :", String.valueOf(areWeFocused)); 
        }else { 
        } 
       } 

       if (CaptureResult.CONTROL_AF_STATE_PASSIVE_FOCUSED == afState) { 
        areWeFocused = true; 
       } else { 
        areWeFocused = false; 
       } 

       break; 
      } 

しかし、私はまたしてみました私Meizu MX5上でそれをテストし、私は1取得 - CaptureResult.CONTROL_AF_TRIGGER_STARTまたは2からCaptureResult.CONTROL_AF_STATE_PASSIVE_FOCUSED

質問がある:私のコードの違いは何ですか? 1つのケースでは0、別のケースでは1 or 2となるのはなぜですか?

+0

この問題に対する解決策をお探しですか? – Donato

+0

@Donato本当に私は覚えていない... –

答えて

0

これは古い質問ですが、私はちょうど同じ問題に遭遇しました。 ControlAfStateに関するAndroidのドキュメントを読んでください(私のような気づかない人はAF = Auto Focus)。オートフォーカスモード(afMode)がAF_MODE_OFFに設定されている場合は、ControlAfState in Inactiveを取得します。

Android CaptureResult.CONTROL_AF_STATE

関連する問題