如何让这个JavaScript工作来触发声音文件?

时间:2013-12-10 18:36:41

标签: javascript audio

我把这个javascript放在head标签中:

<script language="javascript" type="text/javascript">
function playSound(soundfile) {
document.getElementById("dummy").innerHTML=
"<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
}
</script>

我将以下代码放在页面中间的div中:

<span id="dummy"></span>
<a href="javascript: void(0);" onclick="playSound('singing-bowl.wav');"><img id="bowl"       
src="pics/singing-bowl.gif" height="119" width="157" /></a>

它不起作用。我不太了解javascript,但据说这可以从我复制它的来源开始。我已经尝试使用mp3版本和wav版本。两者都不适合我。

任何线索?

2 个答案:

答案 0 :(得分:0)

你可以试试这个

function playSound(val)
{
   var sound = new Audio(val);
   sound.addEventListener('canplaythrough', function() { 
     // your call back function
       // for example to play the sound
       sound.play();
   }, false);
}

更高效

var sound =null;
var isReady = false;
window.onload = function()
{
   sound = new Audio('singing-bowl.wav');
   sound.addEventListener('canplaythrough', function() { 
        isReady = true;
   }, false);

}
function playSound()
{
    if(isReady)
    sound.play();
}

答案 1 :(得分:0)

如果您没有支持旧浏览器的要求,我建议您使用html5,

<audio controls autoplay>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

请注意不同的浏览器支持不同的类型

http://www.w3schools.com/tags/tag_audio.asp