0

私の Android アプリでは、Camera クラスを使用して、電話のカムレアからスナップショットを取得しています。startPreview を使用してカメラのプレビューを開始し、次に takePicture を使用して画像を取得します。追加して、アプリにランドスケープを強制しています

android:screenOrientation="landscape"

AndroidManifest.xml へ。問題は、電話を反時計回りに 90 度回転させたときにアプリに戻ったときです。この場合、プレビューが表示されません。黒であるか、ビューに設定されていません。GUI が表示され、電話から適切に写真を取得できます。プレビューが表示されないことを除いて、すべてが機能します。これは、電話機が縦向きの場合、または電話機が時計回りに 90 度回転している場合には発生しません。

つまり、左に回転するとプレビューは黒くなりますが、他の方向に回転するとプレビューは問題ありません。

私はかなり長い間これについて頭を悩ませてきましたが、アプリに戻る前に、最終的にそれが電話の向きに関連していることを発見しました.

特定のオリネテーションでプレビューが表示されないのはなぜですか?

編集:私は何かを発見しました。それ自体はカメラのせいではありません。カメラ プレビューの上に配置した GUI surfaceView は、どういうわけかプレビューを非表示にします。背景を透明にするように設定しましたが、機能しません。onDraw のすべての描画呼び出しも削除しました。しかし、それでも黒く描画されます。何らかの理由で、他の向きでは発生しません。何か案が?

4

1 に答える 1

0

どの API レベルをターゲットにしていますか?

それが十分に最近のものである場合は、に変更"landscape"してみてください"sensorLandscape"

それがあなたのためにうまくいくと思います。ただし、古すぎる API レベルをターゲットにしている場合、このオプションはありません。

于 2012-02-15T18:06:03.313 に答える