2010-11-23 13 views
2

非常に遅いフレームレートのビデオをカメラにアップロードしてアップロードするアプリケーションを作成したかったのですが、今私はこれを読んでいます:http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdfAndroidカメラ用アプリケーション

私の質問はカメラの使用に関するものでした。上記の記事ではキャンバスを使って画像をプレビューしていますが、撮影前に画像をプレビューしたくない場合はそれを行うことができますか?カメラ画像のプレビューを使用する必要がありますか、またはピクチャを撮影して結果のコールバックをキャッチしてファイルに保存するためにtakepictureを呼び出すことはできますか?もしそうなら、それはどのように行われますか?

は(私がJavaで任意のプログラミングをやったので、長い時間がかかった)

答えて

1

Q:1がそれを取る前に画像をプレビューしたくなかった場合はそのを行うことができますか?
A:いいえ。チェックアウトポイント6 @http://developer.android.com/reference/android/hardware/Camera.html

重要:プレビューサーフェスの更新を開始するには、startPreview()を呼び出します。プレビューを開始してから撮影する必要があります。

Q:カメラ画像のプレビューを使用する必要がありますか?
A:画像のプレビューを「使用する」とは、camera.setPreviewCallback(...)を設定することですか?そうなら、そうではありません。しかし、写真を撮る前にキャンバスに描画するためのプレビューが必要ですか?そうでなければ、ユーザーはどのように写真がどのように見えるかを知っていますか?

Q:takepictureを呼び出して画像を取得し、結果のコールバックをキャッチしてファイルに保存することはできますか?
A:はいあなたはバイト配列に、あなたがプレビュー枠からデータをコピーすることができますcamera.takePicture(...)

+0

ユーザーが画像を見るかどうかは気にしません。アプリケーションを起動すると、遅いフレームレートでカメラの画像を表示する別の場所にアップロードされるという考え方です。 – Tauren

+0

これで、オブジェクトを渡すという点でJavaの部分が再びどのように機能するのかを覚えておくだけです。 – Tauren

0

を使用してもよいし、別のスレッドからあなたが好きなエンコーディングにバイト配列(NV21フォーマット)、変換することができます(あなたがする必要がある場合.. Android 2.2は、JPEGに変換することができますYuvImageクラスで非常に高速な機能を持っており、それをサーバーに送信します。

+0

今、私はアプリケーションで写真を撮っていますが、問題は、プログラムのonCreate部分で画像を撮ろうとするとプログラムがクラッシュすることにあります。実際のプレビューが開始されていないためです。アプリケーションが開いてプレビューが完全に開始された後に発生する別の "on "メソッドがありますか? – Tauren

0

は、今私は、私は内部の写真を撮るために呼び出すしようとした場合、このようなコードを使用して作成することにより、問題に実行しているよ:itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf

ちょうどクラッシュする...実際のプレビューがセットアップされる前に、写真を撮るために電話をかけようとしていることが想定されます。

関連する問題