Android SDK には、カメラのプレビューを使用するための API デモがあります。ただし、これによりエミュレータで実行時例外が発生します。10.6 の Mac で Eclipse を実行しています。
コードを取得したリンクは次のとおりです。
Android SDK には、カメラのプレビューを使用するための API デモがあります。ただし、これによりエミュレータで実行時例外が発生します。10.6 の Mac で Eclipse を実行しています。
コードを取得したリンクは次のとおりです。
AndroidManifest.xml ファイルで、カメラを使用するためのアクセス許可が設定されていることを確認してください。この行を application タグの上に置きます。
<uses-permission android:name="android.permission.CAMERA" />
Nexus One で作業する必要があります。
カメラ アプリを作成しようとしている場合、API デモ アプリは十分な助けにはなりません。Android カメラ アプリ自体のソース コードをダウンロードします。
https://android.googlesource.com/platform/packages/apps/Camera
あなたの質問に関しては、マニフェストでアプリを横向きモードに制限する必要があることがわかります。SurfaceChanged では、startPreview を呼び出すだけです。プレビュー サイズをまったく設定しないでください。
この問題は、Google コード Android の欠陥にも記載されています。プレビューの問題に対処するための可能な解決策として、コメントの下部に記載されているコードが役立つ場合があります。
NexusOneのクラッシュについて。
Corey Tragerがコメントで述べたように、2.1 SDK に付属の ApiDemos パッケージを調べると、アクセス許可の欠落は問題ではありません。
この問題に対して私が見つけた解決策の 1 つは、CameraPreview で要求されたプレビュー サイズを変更することです。
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){..}
次の行を置き換えます。
parameters.setPreviewSize(w,h);
と
parameters.setPreviewSize(352,288);
この解決策は、G1 DevPhone が対応する法的解決策です。
使用できます
List<Camera.Size> getSupportedPreviewSizes ()
リストからサイズを選択します