Android:使用MediaExtractor和MediaCodec获取当前位置

问题描述 投票:1回答:1

我正在使用MediaCode,MediaExtractor和AudioTrack创建自己的Media Player实现。我需要对从本地存储的音频文件中读取的解码mp3样本执行失真 - 因此自定义实现。出于这个原因,我需要实现我自己的seekTogetCurrentPosition函数。但是,我不确定如何实施后者。

我可以设置一个听众来增加位置,但这听起来像一个可怕的想法,可能不准确。最好的方法是什么?我希望支持16级或更高级别的API。

android mediacodec mediaextractor
1个回答
2
投票

答案来自于使用MediaExtractor。一旦提取器通过extractor.readSampleData(...)方法读取了样本数据,就会加载一个样本。

随后对extractor.getSampleTime()的调用以微秒为单位提供当前时间。将该值除以1,000得出毫秒值。我将此变量存储为其读取,并且它是后续调用我的自定义播放器的getCurrentPosition()方法的源。

© www.soinside.com 2019 - 2024. All rights reserved.