问题:小程序中读取音频文件长度不准确
可能原因:
文件中元信息metadata标签有错误
MP3头文件中记录了音频数据长度及码率,但有冗余信息,一般规则, 音频长度 * 码率 = 文件大小 在元信息不匹配的情况下,有的播放器按音频长度 = 文件大小/码率 有的为直接读取
MP3分为VBR和CBR 这两种文件码率计算方式不同。
一般直接暴力解决方案为将错误音频文件解码为wav后重新转码为MP3
其他解决方案:
meta解码
CBR类型找header帧进行计算
文件size除以码率 模糊 vbr 出错概率比较大
文件大小 MB = 码率 bit *时间s / 8 /1024