Android MediaCodec& MediaExtractor用于视频和音频播放

时间:2014-11-06 10:19:31

标签: android audio video mediacodec mediaextractor

我是新来的Android开发人员。这是我的第一个问题。

我正在使用MediaExtractorMediaCodec来播放带有视频和音频的mp4文件。现在我得到一对视频提取器/编解码器和另一对音频提取器/编解码器,在两个独立的线程中实现。

我的问题是:我可以只使用一个带两个编解码器的提取器同步播放视频和音频吗?

如果是,该怎么办?当我使用extractor.selecttrack时,另一个不起作用......

非常感谢。

感谢大家的回答。我已经弄明白了。我弄错了提取器只能选择一个轨道。实际上,您可以选择多个轨道,而extractor.advance()将随后一次读取每个轨道。

2 个答案:

答案 0 :(得分:2)

是的,你应该只使用一个提取器,每个轨道使用一个MediaCodec实例。

在这种情况下,您不应该使用MediaExtractor.selectTrack,您应该只读取所有曲目的数据包,并且对于返回的每个数据包,选择将其传递给哪个MediaCodec。

答案 1 :(得分:2)

感谢大家的回答。我已经弄明白了。我弄错了提取器只能选择一个轨道。实际上,您可以选择多个轨道,而extractor.advance()将随后一次读取每个轨道。