2017-01-03 20 views
2

私はcamera2 APIを使って約1秒の間隔で10を取ろうとしています。間隔を置いてキャプチャセッションで複数の画像を撮影しますか?

私は10キャプチャ要求を正常に作成するために次のようにcreateCaptureSessionを持っていますが、間隔はどこに追加しますか?

cameraDevice.createCaptureSession(outputSurfaces, new CameraCaptureSession.StateCallback() { 
    @Override 
    public void onConfigured(CameraCaptureSession session) { 
     try { 
     for (int i =0; i < 10;i++) { 
      session.capture(captureBuilder.build(), captureListener, null); 
     } 
     } catch (CameraAccessException e) { 
     e.printStackTrace(); 
     } 
    } 

    @Override 
    public void onConfigureFailed(CameraCaptureSession session) { 
     System.out.println("ConfigurationFailed"); 
    } 
    }, mBackgroundHandler); 

答えて

0

これは、Camare2Basicの例を使用して行っています。 onImageAvailable

try { Thread.sleep(CAPTURE_WAITING_TIME_MILISECOND); } catch (InterruptedException e) { e.printStackTrace(); }

あなたは画像数が10ではないか、ImageSaverのコールバックにそれを呼び出すことが良い場合takePicture()を呼び出す必要があります: あなたはこのような何かを追加lockFocus()機能を変更する必要があります。

間隔は正確な時刻ではありません。処理時間によって変わることがあります。

希望すると助かります