Mediacodec控制解码进度

时间:2013-06-04 08:36:59

标签: android android-mediaplayer

我想用MediaCodec和MediaExtractor完成一个简单的音频和视频播放器,但发现很难控制并在解码和渲染时获得进度,例如MediaPlayer中的函数seekTo(),getCurrentPositon()。可能有人有好的建议吗?

1 个答案:

答案 0 :(得分:1)

您应该像这样使用MediaExtractor:

extractor.seekTo(seekPoint, MediaExtractor.SEEK_TO_CLOSEST_SYNC);

其中seekPoint在我们中表示,并表示从流开始的时间。对于音频搜索,我建议先执行视频搜索,然后在第一个解码视频帧中读取提取器时间:

extractor.getSampleTime();

并将其用于音频搜索。这允许更好的音频 - 视频同步,因为视频将寻求最接近的搜索,其可能距离期望的搜索点几秒,而音频通常具有更小的粒度。