Audio() コンストラクタ
HTML に audio 要素を記述せずに、HTMLAudioElement のコンストラクタで生成することができます。
コンストラクタの作成方法
const myAudio = new Audio('sample.mp3');
const audio = new Audio();
audio.src = 'sample.mp3';
audio.controls = true;
document.getElementById('target').appendChild(audio);
イベント
イベント名 | 発生 |
---|---|
audioprocess | ScriptProcessorNodeの入力バッファーの処理の準備ができた。 |
canplay | ブラウザーがメディアを再生できるようになったものの、追加のバッファリングのために停止することなくメディアの最後まで再生するには、充分なデータが読み込まれていないとみられる。 |
canplaythrough | ブラウザーがコンテンツのバッファリングのために停止することなく最後までメディアを再生することができるとみられる。 |
complete | OfflineAudioContextのレンダリングが終了した。 |
durationchange | duration属性が更新された。 |
emptied | メディアが空になった。例えば、このイベントはメディアがすでに読み込まれた (または部分的に読み込まれた) 状態で、再読み込みのためにHTMLMediaElement.loadメソッドが呼び出された場合など。 |
ended | メディアの末尾に達したために再生が停止した。 |
loadeddata | メディアの最初のフレームが読み込み終わった。 |
loadedmetadata | メタデータを読み込み終えた。 |
pause | 再生が一時停止した。 |
play | 再生が始まった。 |
playing | データがなくなったために一時停止または遅延した後で、再生の再開の準備ができた。 |
ratechange | 再生レートが変更された。 |
seeked | シーク操作が完了した。 |
seeking | シーク捜査が始まった。 |
stalled | ユーザーエージェントがメディアを読み込もうとしているが、データが予期せずに入ってこない。 |
suspend | メディアデータの読み込みが停止した。 |
timeupdate | currentTime属性で示されている時刻が更新された。 |
volumechange | 音量が変更された。 |
waiting | 一時的なデータの不足により、再生が停止した。 |
sample
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<title>Document</title>
</head>
<body>
<p><button type="button" id="btn">button</button></p>
</body>
</html>
script.js
window.onload = function(){
let btn = document.getElementById('btn');
btn.addEventListener('click', function(){
const audio = new Audio('./sample.mp3');
audio.volume = 0.5;
audio.play();
});
}