6

我可以在 MediaCodec 和 MediaMuxer 的帮助下录制(编码)视频。接下来,我需要在 MediaCodec 和 MediaMuxer 的帮助下处理音频部分和混合音频与视频。

我面临两个问题:

  1. 如何使用 MediaCodec 对音频进行编码。我需要在单独的线程中编码音频和视频吗?

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

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

任何建议或建议都会非常有帮助,因为这些新 API 没有适当的文档可用。

笔记:

  1. 我的应用程序面向 API 18+(Android 4.3+)。
  2. 我已经将Grafika用于视频编码。
4

1 回答 1

5
  1. 不,您不一定需要单独的音频线程,只需使用两个单独的 MediaCodec 实例。

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

于 2014-10-29T11:20:56.887 回答