audioで使用する音源の総時間を取得する

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の総時間を取得するデモページ
 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930