2

我是新来的,对 Android 开发很陌生。这是我的第一个问题。

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

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

如果是,该怎么做?当我对一个使用 extractor.selecttrack 时,另一个将无法工作......

非常感谢。

感谢大家在这里的回答。我已经弄清楚了。我犯了一个错误,提取器只能选择一首曲目。实际上,您可以选择多个曲目,extractor.advance() 随后会一次读取每个曲目。

4

2 回答 2

4

感谢大家在这里的回答。我已经弄清楚了。我犯了一个错误,提取器只能选择一首曲目。实际上,您可以选择多个曲目,extractor.advance() 随后会一次读取每个曲目。

于 2014-11-17T03:48:41.327 回答
2

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

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

于 2014-11-06T13:52:14.687 回答