是否可以在onMouseover事件中按顺序播放多个声音文件?

时间:2011-01-20 16:24:41

标签: javascript audio onmouseover

我知道如何在onMouseover事件中一次播放单个声音文件,例如

onMouseover="Playsound(1.wav) 

但是,我想在图片或其他图片上依次在单个鼠标悬停上播放多个声音文件(1.wav,2.wav,3.wav等)元件。

有可能吗?

提前致谢。

3 个答案:

答案 0 :(得分:0)

如果你知道声音的长度,你可以使用setTimeout顺序播放它们

答案 1 :(得分:0)

您可以通过将函数附加到事件鼠标悬停,即

来实现
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)

答案 2 :(得分:0)

更好的方法是使用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将会停止。你也依赖上帝知道客户端发生了什么。 : - )