在同一个Img上用onclick播放和暂停



当我点击img(onclick)时,下面的脚本正在播放一个声音文件。如何通过单击同一img来暂停它?我试过audio.pause(),但它不起作用。

function play(){
var audio = document.getElementById("myaudio"); 
audio.style.display="block";
audio.play();
}
<a href="#" onclick="play()"><img src="Bilder/play2.png"></a>

例如,您应该将函数重命名为audioHandler(),它将处理是播放还是暂停音频。

创建一个布尔值来记住你的音频是在播放还是暂停。

//initial status: audio is not playing
var status = false;
var audio = document.getElementById("myaudio");
function audioHandler(){
  if(status == false || audio.paused){
    audio.play();
    status = true;
  }else{
    audio.pause();
    status = false;
  }
}

检查HTMLMediaElementmedia.paused属性

function play_pause(media) {
    if (media.paused) {
        media.play();
    else {
        media.pause();
    }
}

在要控制动作的元素的处理程序中使用此选项

var elm = document.getElementById('play_button'),
    audio =  document.getElementById('myaudio');
elm.addEventListener('click', function (e) {
    play_pause(audio);
});

最新更新