1

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

4

1 回答 1

1

您应该像这样使用 MediaExtractor:

extractor.seekTo(seekPoint, MediaExtractor.SEEK_TO_CLOSEST_SYNC);

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

extractor.getSampleTime();

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

于 2014-12-11T15:45:13.667 回答