控制何时<audio>通过Javascript播放和停止</audio>

时间:2012-10-21 23:12:19

标签: javascript html audio

我试图在html中制作几个音频元素,当我通过javascript告诉他们时,它会播放音乐。

这是我的html:

<div id="pixelbutton" onClick="musicplay1()"> </div>

<audio id="song1" src="audio/ruins.wav" autostart=false hidden=true> </audio>

我的Javascript:

function musicplay1() {
var song1 = document.getElementById("song1");
song1.setAttribute('autostart', 'true');
}

音频是有充分理由的,所以请饶恕我“哦,上帝,真的!?你把声音放在网页上?真的很烦人。”评价。

问题是:如何在javascript中可行地创建一个控制我的html音频标签何时播放的功能?

我对JavaScript很陌生,所以感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

你没有问过一个问题,但我可以看到一些需要改进的地方:

  • autostarthidden是布尔属性,但这并不意味着您应该将它们视为布尔变量。如果该属性存在则认为是开启,否则将其视为关闭。没有属性hidden - 仅在设置了<audio>属性时才会显示controls元素。此外,您应该告诉浏览器您正在使用的音频类型。因此,您的音频标记应为:
<audio id="song1" src="audio/ruins.wav" type="audio/x-wav" />
  • 创建仅适用于一个实例的功能是不好的做法。最好将1作为参数传递,因此您可以:
<div id="pixelbutton" onClick="musicplay(1);"> </div>
  • 仅设置autostart属性可能不会自动启动。相反,请使用.play()方法。有了这个以及上述观点,你得到:
function musicplay(id) {
    document.getElementById('song'+id).play();
}
  • 最后,除非我上次检查后情况发生了变化,否则只有IE和Firefox支持WAV,而Chrome则不支持。

希望这有帮助。