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

我可以设置一个侦听器来在播放时增加位置,但这听起来像一个糟糕的主意,而且可能不准确。最好的方法是什么?我希望支持API级别16或更高级别。

最佳答案

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

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

关于android - Android:使用MediaExtractor和MediaCodec获取当前位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42656850/

10-12 03:32