2017-08-14 13 views
1

私はこの質問をHTML5 Audio Tag Showing Wrong Duration of MP3 in Chromeに読みましたが、まだ私の問題を解決できません。 オーディオファイルのリンクは http://img.kmf.com/toefl/listening/TPO/TPO-48-C1.mp3です。クロムでは、オーディオの再生時間は168.408を返しますが、Firefoxでは169.192194を返します。HTML5クロムとファイアフォンの音声の長さが異なる

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>

+0

が正しい... – Kaiido

+0

@Kaiidoしかし、どのようにこの問題を解決するために:ここで

は、メタデータのないファイルは、ありますか? – ChenLee

+0

ああ、申し訳ありません実際にはFFです;-)答えを追加します。 – Kaiido

答えて

1

Chromeはあなたのファイルであるメタデータ(ID3タグ)(ほとんど誰もffmpegのは、ありません)信頼しますが、Firefoxはしません。

あなたの曲は実際には02:49.17ですが、そのメタデータには別段の記載があります。

これらのメタデータ情報(これはonline toolを使用しました)を削除すると、オーディオの再生時間は02:49.17(またはクロムの場合は169.16898、FFの場合は169.192194)になります。 ffmpegのクロムによると

a.onloadedmetadata = e => console.log(a.duration);
<audio id="a" src="https://dl.dropboxusercontent.com/s/adw96fb4xaz377n/TPO-48-C1_noID3.mp3" controls>

+0

クロムは169.16898を返し、FFは169.192194を返します。これは正しいのですか?@Kaiido – ChenLee

+0

okですが、データがスクラブされている場合でも、長さの違いがあります。 –

+0

はい、数msの違いは_normal_/expected実際にはまったく同じようにはなりません。 – Kaiido

関連する問題