我正在尝试用JS播放和暂停声音。
声音已经播放,但我希望能够暂停和取消它。
case 32: //SpaceBar
if (play){
$("#leson").pause();
play = false;
} else {
$("#leson").play();
play = true;
}
break;
在我写这篇文章之前:
<embed id="leson" src="edito.wav" autostart="true" hidden="true"
loop="false">
我在这里做错了什么? 感谢。
答案 0 :(得分:3)
将embed
更改为HTML5 audio
。而autoplay
代替autostart
。
我的解决方案不使用jQuery。
请参阅下面的代码并检查它是否有效here。 您需要单击结果页面以聚焦页面,并能够使用空格键播放/暂停。
<audio id="leson" src="edito.wav" autoplay="true" hidden="true" loop="false"/>
<script>
var play = true;
var myAudio = document.getElementById("leson");
function onKeyDown(event) {
switch (event.keyCode) {
case 32: //SpaceBar
if (play) {
myAudio.pause();
play = false;
} else {
myAudio.play();
play = true;
}
break;
}
return false;
}
window.addEventListener("keydown", onKeyDown, false);
</script>
答案 1 :(得分:0)
audio
个元素有play
and pause
methods。
var myAudio = document.getElementById('myAudioElement');
myAudio.play();
myAudio.pause();
看到你正在使用jQuery,你需要从jQuery对象中获取DOM元素。你应该这样做:
$("#leson")[0].play();
$("#leson")[0].pause();