2016-07-13 4 views
0

Faceを検出するとアプリケーションキャプチャ画像を作成していますが、これを実現できますが、FaceDetectionListenerのOnFaceDetection機能はkeepカメラの前に顔がない場合でも実行する。私は自分のコードを貼り付けています。onFaceDetection(Camera.Face [] faces、カメラカメラ)は継続的に実行し続けます

mCamera.setFaceDetectionListener(new Camera.FaceDetectionListener() { 
    @Override 
    public void onFaceDetection(Camera.Face[] faces, Camera camera) { 
      try { 
       if (lastCaptureTiume + 10000 <= System.currentTimeMillis() || !faceCaptured) { 
        mCamera.takePicture(null, null, jpegCallback); 
        lastCaptureTiume = System.currentTimeMillis(); 
        faceCaptured = true; 
       } 
      } 
      catch (Exception e) { 
      } 
    } 
}); 

カメラの前に顔はありませんが、写真を撮っているのが問題です。

答えて

0

この動作はデバイスによって異なります。ノート3のonFaceDetectionは、フェイスなしでも実行し続け、ネクサスの電話機は完全に動作します。 他の解決策はありませんでしたので、顔確認の条件を付けました。

 if (faces != null && faces.length > 0) { 
     //Do code here 
    } 
関連する問題