1

4:3カメラのプレビュー比率をではなく に設定すると、同じ距離でより大きなプレビュー フィールドが得られることがわかって16:9います。詳細は次のとおりです。

Android Camera API - 奇妙なズーム効果

しかし、opengl で Android カメラ プレビューを使用しているときに問題が発生しました。これは、以下で説明する 2 番目の方法です。

カメラ プレビューを実装するには、次の 2 つの方法があります。

  1. OpenGL を使用しない従来の方法で、Camera.setPreviewTexture(SurfaceTexture texture)またはを使用するだけです。Camera.setPreviewDisplay(SurfaceHolder holder)
  2. ContinuousCaptureActivityopenglの使い方は、プレビュー画像を A​​PI でレンダリングしますswapBuffers()

最初の方法で問題ありません。プレビューの比率を 16:9 から 4:3 に変更すると、プレビュー フィールドが大きくなります。

ただし、2 番目の方法は一部の Android フォンでは問題があり、プレビューの比率が変更されてもプレビュー フィールドは同じままで、プレビュー フィールドは比率 4:3 で最初の方法よりも小さくなります。これはエラーだと主張します。この問題を解決したいのですが、どなたかアドバイスをいただけますか?

4

1 に答える 1

4

苦労の末、ついに正確な理由がわかりました。それはAPIですCamera.Parameters.setRecordingHint(true)

ソース コードでこの句を削除すると、プレビューのフィールドが正常になりました。

一言で言えば、APICamera.Parameters.setRecordingHint(true)は一部の Android デバイスのバグです。

一部のデバイスでは、プレビュー比率が 4:3 に設定されている場合 (API Camera.Parameters.setPreviewSize(int, int) を使用)、API setRecordingHint(true) を呼び出すと、カメラ プレビューのフィールドが小さくなります。

于 2015-06-30T07:02:58.650 に答える