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

时间:2015-02-26 10:42:48

标签: javascript html audio 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>

2 个答案:

答案 0 :(得分:0)

您应该将您的功能重命名为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;
  }
}

答案 1 :(得分:0)

检查HTMLMediaElement

media.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);
});