2014-10-29 88 views
1

我能够借助MediaCodec和MediaMuxer录制(编码)视频。接下来,我需要借助MediaCodec和MediaMuxer来处理音频部分和多路复用音频。如何使用MediaCodec和MediaMuxer录制视频和音频

我面临两个问题:

  1. 如何编码的音频与MediaCodec。我是否需要在单独的线程中编码音频和 视频?

  2. 如何将音频和视频数据传递给MediaMuxer(因为 writeSampleData()方法一次只能使用一种类型的数据)?

我提到MediaMuxerTest但它使用MediaExtractor。我需要使用MediaCodec,因为视频编码是通过MediaCodec完成的。如果我错了,请纠正我。

任何建议或建议将非常有帮助,因为没有适合这些新API的文档。

注:

  1. 我的应用程序的目标是到API 18+(安卓4.3+)。
  2. 我参考了Grafika进行视频编码。

回答

5
  1. 不,你不一定需要为音频建立单独的线程,仅仅使用两个单独的MediaCodec实例。

  2. writeSampleData的第一个参数是trackIndex,它允许您指定每个数据包对应哪个轨道。 (通过运行addTrack两次,每个轨道一次,您会得到两个单独的轨道ID。)

相关问题