0

我正在尝试用 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">

我在这里做错了什么?谢谢。

4

2 回答 2

3

更改embed为 HTML5 audio。而autoplay不是autostart. 我的解决方案不使用 jQuery。

请参阅下面的代码并在此处检查它是否正常工作。您需要单击结果页面以聚焦页面并能够使用空格键播放/暂停。

<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>
于 2013-05-05T16:52:13.227 回答
0

audio元素有playpause方法

var myAudio = document.getElementById('myAudioElement');
myAudio.play();
myAudio.pause();

并且看到您正在使用 jQuery,您需要从 jQuery 对象中获取 DOM 元素。你应该做:

$("#leson")[0].play();
$("#leson")[0].pause();
于 2013-05-05T14:36:16.223 回答