2010-11-24 3 views
0

だから私はこの小さな記事を書いて始めました。私は、バックグラウンドで実行中の写真を撮るアプリケーションを作ろうと思っていました。私が一度開かれたアプリケーションが、X秒ごとに写真を撮ることを望んでいたとしても、始めるには。クラスとメソッドを再作成した後、私はいくつかの問題に遭遇しました。手始めにAndroidカメラアプリケーション、プレビュークラッシュ

http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf

そのはのonCreate機能はアプリケーションのすべてのオブジェクトを設定しているようですが、あなたは、アプリケーションが実際にhasn(IEはそれを直接呼び出す)のonClick以外の方法で写真を撮るしようとした場合キャンバスやプレビューをまだセットアップしていない。

最初の質問: すべての「onCreate」オブジェクトが作成され、関連付けられたメソッドが呼び出されて終了するまで待つことができる条件付きメソッドはありますか?アプリケーションが自動的に表面仕上げを完了し、カメラのプレビューを開始してから自動的に写真を撮るのを待つにはどうしたらいいですか?

私の2番目の質問: 写真を撮るためのプレビューが必要です。写真を撮っている間に、このアプリケーションをバック(バックグラウンドで実行しているIE)にプッシュする方法はありますか?キャンバスへの描画は要件ですか? (私がAFAIKに伝えたいことから、プレビューを開始するサーフェスホルダーが必要です。別のスクリーンやアプリケーションを置いて、現在のアプリケーションを一時停止し、そのプレビューを表示していたサーフェス/キャンバスを閉じます)。私の理解が正しければ、私ができることは、アプリケーションがフォアグラウンドになっているために画面を占める1x1ピクセルのキャンバスを作ることです。

私の3番目の質問:これを回避する方法はありますか?プレビューを行わなくても、何らかの方法でカメラを利用できますか?

答えて

0
  1. あなたはSurfaceHolder.Callbackを実装し、それが呼び出されるsurfaceCreated()だのを待つ必要があります。

    その後、すべてMediaRecorder準備(setPreviewDisplay、setAudio、setVideo、prepare())を実行できます。

  2. 別のビューでSurfaceViewをオーバーレイして非表示にすることができます。

関連する問題