我可以在MediaCodec和MediaMuxer的帮助下录制(编码)视频。接下来,我需要借助MediaCodec和MediaMuxer在视频上处理音频部分和多路复用音频。
我面临两个问题:
如何使用MediaCodec对音频进行编码。我需要编码音频和 视频在单独的线程中?
如何将音频和视频数据传递给MediaMuxer(如 writeSampleData()方法一次只接受一种类型的数据)?
我提到MediaMuxerTest,但它正在使用MediaExtractor。我需要使用MediaCodec,因为视频编码是使用MediaCodec完成的。如果我错了,请纠正我。
任何建议或建议都会非常有用,因为这些新API没有适当的文档。
注意:
答案 0 :(得分:5)
不,您不一定需要一个单独的音频线程,只需使用两个单独的MediaCodec实例。
writeSampleData
的第一个参数是trackIndex
,它允许您指定每个数据包对应的轨道。 (通过运行addTrack
两次,每个曲目一次,您将获得两个单独的曲目ID。)