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

时间:2017-03-07 19:37:15

标签: android mediacodec mediaextractor

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

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

1 个答案:

答案 0 :(得分:2)

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

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