【问题标题】:Android: Get Current Position Using MediaExtractor & MediaCodecAndroid:使用 MediaExtractor 和 MediaCodec 获取当前位置
【发布时间】:2017-03-07 19:37:15
【问题描述】:

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

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

【问题讨论】:

    标签: android android-mediacodec mediaextractor


    【解决方案1】:

    答案来自使用 MediaExtractor。提取器通过extractor.readSampleData(...) 方法读取样本数据后,样本已加载。

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

    【讨论】:

    • 您是否在getCurrentPosition() 方法中使用了extractor.getSampleTime()
    猜你喜欢
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多