2011-12-09 9 views
3

camera.takePicture()を使用して写真を撮るAndroid(2.3以降)で写真を撮っています。それは素晴らしい作品ですが、私は別のデバイス上で奇妙な動作を取得します。私のNexus Oneでは、キャプチャした画像が数秒間凍ったままになってからプレビューに戻ります。私のトランスフォーマーでは、すぐにプレビューに戻ります。Androidカメラの制御シャッター後にキャプチャした画像をプレビューに保存する時間

今のところ、onShutter()イベントでcamera.stopPreview()に電話をかけても問題はありませんが、撮影した写真が表示されていないので少し変わってしまいます。トランスフォーマーでは、画像を撮ってから数分の1秒間フリーズし、再び動き始めてから、stopPreview()に電話をかけたときにonShutterに入り、フリーズしても、「フリーズ・フリーズ・フリーズ」と見ることができます。

誰かが設定を知っている人や、私が呼び出すことができるコードは、プレビューを再開する前にカメラがその画像をどれくらいの間保持するかを教えてくれますか?それとも、まだプレビューを自動的にリリースしないで、startPreviewを呼び出すまで待つのですか?

答えて

1

私のデバイスでは、手動でプレビューを再開する必要があります。写真を撮った後に起動しません。私は

camera.takePicture(null, null, takePictureCallback); 

ような画像コールバックを使用して、コールバックが写真処理は、画像を保存

private Camera.PictureCallback takePictureCallback = new Camera.PictureCallback() { 
    @Override 
    public void onPictureTaken(byte[] data, Camera cam) { 
     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       if (camera != null) { 
        camera.startPreview(); 
       } 

       canTakePicture = true; 
      } 
     }, PHOTO_PREVIEW_LENGTH); 

     new PhotoProcessor(activity, targetUri).execute(data); 
    } 
}; 

は、PHOTO_PREVIEW_LENGTH撮像画像が示されているどのくらいのMSの長さです。

+0

お返事ありがとうございます。これは良いアプローチのように思えますが、私が取り組んでいるプロジェクトは長年にわたり死んでおり、私が望んでいたとしてもこれをテストすることはできません。 – Mike

+0

ああ、私はその古い質問に気付かなかった:Dは気にしない – tibbi

関連する問題