GLSurfaceViewを使用してAndroidでカメラのプレビューをレンダリングするとき、私は奇妙な視覚的グリッチを観察しています。Androidカメラのプレビューの色の問題(赤と青が入れ替わる)
赤と青は、カメラのプレビューフィードで交換されているように見えます。グリーンは大丈夫です。以下の画面キャプチャを参照してください。
私はいくつかのデバイス(サムスンギャラクシーS4のすべての亜種)でこの問題を見ています。
グリッチは特定の解像度を使用する場合にのみ発生します。720x960以上の解像度で問題が発生します(640x480など)。
この問題は、前面と背面の両方のカメラで発生します。
問題がGrafikaサンプルアプリケーションでは再現性があるので、同じようCameraCaptureActivity.javaのライン185を変更することにより、(あなたは便利なサムスンギャラクシーS4をしていると仮定):
// openCamera(1280, 720); // change this ...
openCamera(640, 480); // to this
は、私は640×480でH264をエンコードする必要があります。私は、より高い解像度(同じアスペクト比)を使用しても、640x480で動作するようにエンコーダーを設定することで問題を回避できると思っていました。残念ながら、これはおそらくリサンプリングによる恐ろしい塊状のビデオフィードにつながります。試験&誤差に基づい
これはtrueです。一部の解像度でsetRecordingHintがtrueに設定されていると、緑色の画面に問題が発生します。 – RxRead