0

生のカメラ画像で作業していますが、画像のキャプチャ後にプレビューを再開する必要があります。takePicture に続いて startPreview() を呼び出すと、カメラが使用されるまで Android がハングします。Raw 画像がディスクに書き込まれるまで待ちましたが、カメラがまだ使用中であるため、プレビューを開始してもシステムがハングします。

camera.takePicture(null, null, null);
(test needed here){
camera.startPreview();      
}

rawcallback に開始プレビューを入れると、Android がハングします。

takePicture を呼び出すと、カメラが終了してから jpegCallback が発生するため、プレビューを開始しても問題ありませんが、これも .jpg を作成します。

質問は takePicture に従っています。カメラがアイドル状態のときを判断する方法はありますか? (jpegCallback 以外?)。

タイマーでプレビューを開始するなど、問題を回避する方法を見つけましたが、カメラの実際のステータスを判断する方法と、保存してプレビューを再開するタイミングをテストする方法があるかどうかはまだ疑問です.

4

1 に答える 1

0

takePicture() 関数を呼び出した後、JPEG コールバックが返されるまで、カメラを再び使用できるようになるまで待つ必要があります。そのステータスを監視する方法はありません。ドキュメントには、次のように明示的に記載されています。

このメソッドを呼び出した後は、JPEG コールバックが返されるまで、startPreview() を呼び出したり、別の写真を撮ったりしてはなりません。

カメラ プレビューを停止して再起動せずにフレーム (画像など) をすばやく取得する方法が必要な場合は、PreviewCallbackインターフェイスを実装すると、プレビューをまったく停止せずにプレビュー フレームを簡単に取得できます。これらを YUV 形式から変換する必要があることを覚えておいてください (これは、Android のYUVImage クラスを使用すると難しくありません。

于 2013-03-04T19:31:31.703 に答える