Android Emulator から画面をキャプチャして .mp4 ファイルに記録しようとしています。仮想ディスプレイを作成し、フレームをエンコーダーにルーティングし、ビデオ チャネルを多重化し、外部ストレージに書き込むという標準的なアプローチを採用しました。ただし、出力された .mp4 ファイルは、再生すると空白の画面になります。デバイスで実行すると、同じコードが機能します。
1 つの観察結果は、BufferInfo.size
fromonOutputBufferAvailable()
が常に 13 または 2718 の定数値を持ち、MediaCodec
エンコーダーの問題を明確に示していることです。エンコーダーを構成するときにいくつかのパラメーターを変更する必要がありますか?
SoftAVCEncoder
もう 1 つの観察結果は、エミュレータで実行するときに a が使用されていることを示す Logcat からのものです。