MediaCodec と MediaMuxer を使用してビデオを録画 (エンコード) できます。次に、MediaCodec と MediaMuxer を使用して、オーディオ部分とビデオを含むオーディオを多重化する必要があります。
私は2つの問題に直面しています:
MediaCodec でオーディオをエンコードする方法。オーディオとビデオを別々のスレッドでエンコードする必要がありますか?
オーディオとビデオのデータを MediaMuxer に渡すにはどうすればよいですか (writeSampleData() メソッドは一度に 1 種類のデータしか取りません)。
MediaMuxerTestを参照しましたが、MediaExtractor を使用しています。ビデオのエンコードは MediaCodec で行われるため、MediaCodec を使用する必要があります。間違っている場合は修正してください。
これらの新しい API に関する適切なドキュメントがないため、提案やアドバイスは非常に役立ちます。
ノート:
- 私のアプリは API 18+ (Android 4.3+) をターゲットにしています。
- ビデオのエンコーディングについては、Grafikaを参照しました。