I have read this question HTML5 Audio Tag Showing Wrong Duration of MP3 in Chrome , but still can't solve my problem. The audio file's link is here: http://img.kmf.com/toefl/listening/TPO/TPO-48-C1.mp3. In chrome, audio's duration return 168.408, but in firefox it returns 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>