-2

ユーザーインタラクションが不要で、ユーザーインターフェイス要素が表示されないように写真を撮りたいと思います。つまり、BGMを使って写真を撮りたいのです。音を出してはいけません(写真を撮るときのカメラのシャッターのように)。可能であれば、撮影後に画像のサイズを変更するのではなく、カメラの解像度を設定できれば便利です。

私が見たすべてのコードサンプルは、典型的なカメラアプリを表示し、ユーザーが手動で写真を撮ることができるアクティビティを使用しています。

4

1 に答える 1

3

Cameraの開発ページはプロセスの概要をかなりよく説明していると思います。読んだことがありますか?

  1. open(int)からCameraのインスタンスを取得します。
  2. getParameters()を使用して既存の(デフォルトの)設定を取得します。
  3. 必要に応じて、返されたCamera.Parametersオブジェクトを変更し、setParameters(Camera.Parameters)を呼び出します。
  4. 必要に応じて、setDisplayOrientation(int)を呼び出します。
  5. 重要:完全に初期化されたSurfaceHolderをsetPreviewDisplay(SurfaceHolder)に渡します。サーフェスがないと、カメラはプレビューを開始できません。
  6. 重要:startPreview()を呼び出して、プレビューサーフェスの更新を開始します。写真を撮る前にプレビューを開始する必要があります。
  7. 必要に応じて、takePicture(Camera.ShutterCallback、Camera.PictureCallback、Camera.PictureCallback、Camera.PictureCallback)を呼び出して写真をキャプチャします。コールバックが実際の画像データを提供するのを待ちます。
  8. 写真撮影後、プレビュー表示が停止します。さらに写真を撮るには、最初にもう一度startPreview()を呼び出します。
  9. stopPreview()を呼び出して、プレビューサーフェスの更新を停止します。
  10. 重要:release()を呼び出して、他のアプリケーションで使用できるようにカメラを解放します。アプリケーションは、onPause()でカメラをすぐに解放する必要があります(そして、onResume()でカメラをre-open()します)。

プレビューについては言及されていますが、プレビューに使用されるサーフェスはいつでも非表示にできます。ユーザーの操作は必要ありません。

于 2013-01-09T16:10:53.060 に答える