我正在使用MediaCode、MediaExtractor和AudioTrack创建自己的媒体播放器实现。我需要对我从本地存储的音频文件中读取的解码mp3样本执行失真--这就是自定义实现。因此,我需要实现我自己的seekTo和getCurrentPosition函数。但是,我不知道如何实现后者。
我可以在演奏时设置一个听众来增加这个位置,但这听起来是个糟糕的主意,而且可能不准确。做这件事最好的方法是什么?我希望支持API级别16或更高。
发布于 2017-03-08 18:01:22
答案来自于使用MediaExtractor。一旦提取器通过extractor.readSampleData(...)方法读取了样本数据,就会加载一个示例。
随后对extractor.getSampleTime()的调用提供了当前时间(以微秒为单位)。除以1,000等于毫秒值。我将这个变量存储为其read,它是随后调用自定义player的getCurrentPosition()方法的源。
https://stackoverflow.com/questions/42656850
复制相似问题