在setInterval之后暂停音频

时间:2018-03-21 20:52:33

标签: jquery html

我希望在点击STOP按钮后停止音频。现在我的方式只停止音频片刻然后继续播放。

这是我的代码

let x = 500;

$("#buttonStart").click(()=>{
    setInterval(function() {$('audio')[0].play();}, x);
})

$("#buttonStop").click(()=>{
// I WANT TO STOP THE AUDIO COMPLETELY HERE     
    $('audio')[0].pause();

})

3 个答案:

答案 0 :(得分:1)

尝试这样的事情

var task;

$("#buttonStart").click(()=>{
    task = setInterval(function() {$('audio')[0].play();}, x);
})

$("#buttonStop").click(()=>{
// I WANT TO STOP THE AUDIO COMPLETELY HERE     
    clearInterval(task);
})

答案 1 :(得分:0)

你可以有一个公共布尔值,表示是否应该播放音乐。

var musicOn = false;
let x = 500;

$("#buttonStart").click(()=>{
    musicOn = true;
    setInterval(function() {
        if(musicOn==true){
            $('audio')[0].play();
        }, x);
    }
})

$("#buttonStop").click(()=>{
// I WANT TO STOP THE AUDIO COMPLETELY HERE     
    musicOn = false;
})

也许是一个懒惰的解决方案,但肯定会有效

答案 2 :(得分:0)

您可以将播放间隔设置为变量,然后单击“停止”按钮时,可以使用clearInterval清除间隔。

  let x = 500;
  let playing;

  $("#buttonStart").click(()=>{
    playing = setInterval(function() {$('audio')[0].play();}, x);
  });

  $("#buttonStop").click(()=>{    
    clearInterval(playing);
  });