一度に 1 つのサウンド ファイルを onMouseover イベントで再生する方法を知っています。
onMouseover="Playsound(1.wav)
ただし、画像または他の要素のいずれかで単一のマウスオーバーで複数のサウンドファイル(1.wav、2.wav、3.wav など) を順番に再生したいと考えています。
それはまったく可能ですか?
前もって感謝します。
一度に 1 つのサウンド ファイルを onMouseover イベントで再生する方法を知っています。
onMouseover="Playsound(1.wav)
ただし、画像または他の要素のいずれかで単一のマウスオーバーで複数のサウンドファイル(1.wav、2.wav、3.wav など) を順番に再生したいと考えています。
それはまったく可能ですか?
前もって感謝します。
サウンドの長さがわかっている場合は、setTimeout を使用して順番に再生できます。
イベント mouseover に関数をアタッチすることでそれを行うことができます。
element.addEventListener('mouseover',function () {
Playsound(1.wav);
/* do stuff ... if you can retrieve 1.wav length you could use, as semyon mentioned, a setTimeout to play other sounds sequentially i.e. .. */
setTimeout(playanothersoundfn,GetLength(1.wav));
},false)
これを行うためのより良い方法は、html5 オーディオ要素を使用して、クリップの終了のハンドラーを登録することです。
<audio src="1.wav" id="first"></audio>
<audio src="2.wav" id="second"></audio>
audio = document.getElementById('first');
audio.addEventListener('ended', function(){
//play next clip
});
audio.play();
setTimeout は、正確なタイミングが必要な場合には適していません。最初のオーディオ クリップが少し遅れていた場合、setTimeout はすぐに停止します。また、クライアントで何が起こっているかを神が知っていることに依存しています。:-)