2017-07-30 165 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>