我正在使用MediaCode,MediaExtractor和AudioTrack创建自己的Media Player实现。我需要对从本地存储的音频文件中读取的解码mp3样本执行失真处理,因此需要自定义实现。因此,我需要实现自己的seekTo
和getCurrentPosition
函数。但是,我不确定如何实现后者。
我可以设置一个侦听器来在播放时增加位置,但这听起来像一个糟糕的主意,而且可能不准确。最好的方法是什么?我希望支持API级别16或更高级别。
最佳答案
答案来自使用MediaExtractor。一旦提取器通过extractor.readSampleData(...)
方法读取了样品数据,就已经加载了样品。
随后调用extractor.getSampleTime()
提供当前时间(以微秒为单位)。将该值除以1,000得到毫秒值。我将此变量存储为读取的变量,它是后续调用自定义播放器的getCurrentPosition()
方法的源。
关于android - Android:使用MediaExtractor和MediaCodec获取当前位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42656850/