Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想用MediaCodec和MediaExtractor完成一个简单的音频和视频播放器,但是发现解码和渲染时很难控制和获取进度,例如MediaPlayer中的seekTo()、getCurrentPositon()函数。有人能有吗好的提示?
您应该像这样使用 MediaExtractor:
extractor.seekTo(seekPoint, MediaExtractor.SEEK_TO_CLOSEST_SYNC);
其中 seekPoint 用 us 表示,表示从流开始的时间。对于音频搜索,我建议首先执行视频搜索,然后在第一个解码视频帧处读取提取器时间:
extractor.getSampleTime();
并将其用于音频搜索。这允许更好的音频-视频同步,因为视频将寻求最接近的搜索,可能距离所需的搜索点几秒钟,而音频通常会有更小的粒度。