audioの総時間を取得しようとして少し詰まったのでメモしておきます。
サンプルコード
metaデータ読み込み前に取得しようとするとうまくいかないようです。
JavaScript
var audio = new Audio(); // audioの作成 audio.src = 'sound.mp3'; // 音声ファイルの指定 audio.load(); // audioの読み込み console.log('meta読み込み前:', audio.duration); // 総時間の取得(meta読み込み前に取得すると失敗する) audio.addEventListener('loadedmetadata',function(e) { console.log(audio.duration); // 総時間の取得 });
loadedmetadataイベントを使ってmetaデータ読み込み後に総時間を取得すると、うまくいきました。
audioの総時間を取得するデモページ
コメントが承認されるまで時間がかかります。