質問

Androidでカメラプレビューの2つのインスタンスを持つことができるかどうか疑問に思っていました。つまり、カメラの2つのインスタンスを同時に実行することです。もしそうなら、これについてどのように進むでしょうか、別のスレッドにインスタンスを実装する必要がありますか?カメラAPIを以前に使用したことがないので、この問題に首位を上げることができれば感謝しているので、時間を無駄にしません。ありがとうございました。

役に立ちましたか?

解決

カメラに2つの開いた接続を持つことはできません。プレビューを取得するにはカメラをロックする必要があり、1回しかロックできません。確かに、カメラをロックしていて、ロックを解除する前にアプリがクラッシュした場合、カメラを使用することはできません!

見る http://developer.android.com/reference/android/hardware/camera.html#open%28int%29

カメラの使用が完了したら、リリース()を呼び出す必要があります。そうしないと、ロックされたままで、他のアプリケーションでは利用できません。

...

RuntimeException:カメラサービスへの接続が失敗した場合(たとえば、カメラが別のプロセスで使用されている場合)。

とはいえ、プレビューコールバックを登録して、単一のカメラインスタンスからプレビューデータを取得して、複数のビューで使用できます。ただし、プレビューコールバックによって提供される生のバイト[]データのYUV形式の問題に注意してください。 Androidのビデオ画像からフレームを取得します (プレビューデータはカメラドライバーから生であり、デバイスごとに異なる場合があることに注意してください)

他のヒント

大きな質問を無視して、あなたの最善の策は、カメラと対話するサービスを作成し、そこから行くことです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top