2017-07-30 166 views
0

我有困难停止我的MP3一旦打。JavaScript的JS停止音乐按钮 - MP3

//html code 
    <button onclick="musicHint()">Start music</button> 
    <button onclick="musicStop()">Stop music</button> 

//js code 
    //music starts 
    function musicHint(){ 
    console.log("music start button working!"); 
    new Audio('snoop.mp3').play(); 
    } 
    //music stop 
    function musicStop(){ 
    console.log("music start button problems"); 
    new Audio('snoop.mp3').pause(); 
} 

line - newAudio('snoop.mp3')。pause();没有暂停MP3

什么想法?感谢

回答

1

你是不是同一对象的工作要创建新的总是对象。 试试这个

//html code 
    <button onclick="musicHint()">Start music</button> 
    <button onclick="musicStop()">Stop music</button> 

//js code 
    var songObj=new Audio('snoop.mp3'); 
    //music starts 
    function musicHint(){ 
    console.log("music start button working!"); 
    songObj=songObj.play(); 
    } 
    //music stop 
    function musicStop(){ 
    console.log("music start button problems"); 
    if(songObj){ 
     songObj.pause(); 
    } 
} 
0

你需要一个变量,以便您可以在同一Audio对象调用pause(),而不是创建一个新的。

//html code 
    <button onclick="musicHint()">Start music</button> 
    <button onclick="musicStop()">Stop music</button> 
//js code 
    //music starts 
    var audio = new Audio('snoop.mp3'); 
    function musicHint(){ 
    console.log("music start button working!"); 
    audio.play(); 
    } 
    //music stop 
    function musicStop(){ 
    console.log("music start button problems"); 
    audio.pause(); 
} 
+0

非常感谢你之前!我得到了它的工作 –

0

这是因为您没有存储正在播放的歌曲的参考。

存储音频对象的一个​​变量引用,然后播放或暂停,以确保您在同一对象上工作。

0

创建一个Audio()实例,并在musicHintmusicStop函数中引用该实例。附加canplay处理程序Audio例如在windowload事件和canplay处理程序内将事件处理程序附加到<button>元素。检查Audio.paused调用.play()

<script> 
 
    window.onload = function() { 
 

 
    var audio = new Audio("https://upload.wikimedia.org/wikipedia/commons/6/6e/Micronesia_National_Anthem.ogg"); 
 

 
    function musicHint() { 
 
     console.log("music start button working!"); 
 
     if (audio.paused || audio.currentTime === 0) { 
 
     audio.play() 
 
     } 
 
    } 
 
    //music stop 
 
    function musicStop() { 
 
     console.log("music start button problems"); 
 
     audio.pause(); 
 
    } 
 

 
    audio.oncanplay = function() { 
 
     alert("audio loaded"); 
 
     
 
     document.getElementById("musicHint") 
 
     .onclick = musicHint; 
 

 
     document.getElementById("musicStop") 
 
     .onclick = musicStop; 
 
    } 
 
    } 
 
</script> 
 

 
<button id="musicHint">Start music</button> 
 
<button id="musicStop">Stop music</button>