デバイスの前面カメラを利用するアプリを開発しています。サポートされているプレビューサイズのリストを取得し、それらをループしてかなり近いものを探して、プレビューサイズを設定しようとしています。私が書いた方法は、基本的にOS独自のカメラアプリの方法と同じです。この方法はうまく機能します。まさに私が望む方法です。それが私がここにいる理由ではありません。
一部のデバイスでは、カメラのプレビューが明らかに歪んで見えるという問題がありました。画像のプレビューを押しつぶすか引き伸ばす。なぜこれが行われているのか理解できなかったので、それをステップスルーして、前面カメラで使用可能なサポートされているすべてのプレビューサイズを調べたところ、2つしかなく、どちらも使用できる正しい側面ではなかったことがわかりました。SurfaceHolder.Callbackクラスの"surfaceChanged"メソッドは、前面カメラの幅と高さを762x480と報告していますが、サポートされている2つのプレビューサイズ(cam.getParameters()。getSupportedPreviewSizes()で取得)の両方が反対の側面:480x800、320x640。
これらが唯一のオプションであるため、歪んでいない正面カメラのプレビューを作成することは不可能のようです。バージョン2.3以下では、サポートされているサイズに関係なく、幅と高さに任意の値を使用できることを知っていますが、新しいバージョンのOSでもアプリを機能させるようにしています。プレビューを正しく表示するにはどうすればよいですか?