我已阅读此问题HTML5 Audio Tag Showing Wrong Duration of MP3 in Chrome,但仍无法解决我的问题。 音频文件的链接在这里: http://img.kmf.com/toefl/listening/TPO/TPO-48-C1.mp3。在Chrome中,音频的持续时间返回168.408,但在Firefox中它返回169.192194。
document.getElementById('jp_audio_0').addEventListener('loadedmetadata', function() {
console.log(this.duration);
});

<audio id="jp_audio_0" preload="metadata" src="http://img.kmf.com/toefl/listening/TPO/TPO-48-C1.mp3"></audio>
&#13;
答案 0 :(得分:1)
Chrome信任文件中的元数据(ID3标签)(几乎每个人,甚至ffmpeg都有),但Firefox不支持。
你的歌实际上是02:49.17,但其元数据说不然。
当你删除这些元数据信息时(我使用了这个online tool),那么每个人都同意你的音频的持续时间为02:49.17(或者铬的169.16898s和FF的169.192194)。
这是没有元数据的文件:
a.onloadedmetadata = e => console.log(a.duration);
<audio id="a" src="https://dl.dropboxusercontent.com/s/adw96fb4xaz377n/TPO-48-C1_noID3.mp3" controls>