2016-06-28 125 views
0

我有一個簡單的功能反應,其播放音頻..JavaScript的音頻暫停先前播放音頻時的電流打在反應

handlePlayMusic() { 

    this.audio = new Audio(music) 
    this.audio.play() 
} 

handleStopMusic() { 

    this.audio.pause() 
} 

當我玩的是新的音樂我。即在Audio(music)中的music的值被改變,新的音樂被播放,但之前播放的音樂countinues播放。我想讓它在我播放新音樂時停止。

任何幫助?

+0

您還沒有編寫任何代碼要做到這一點.... – Rayon

+0

我應該如何檢查..當我在'this.audio'中播放新的音樂,這意味着舊音樂不應該播放嗎? – gamer

+0

不,它會創建音頻的新實例.... – Rayon

回答

2

在玩之前停止this.audio的早期實例!

var obj = { 
 
    handlePlayMusic: function(music) { 
 
    try { 
 
     this.audio.pause(); 
 
     this.audio.currentTime = 0; 
 
    } catch (e) { 
 
     console.log(e); 
 
    } 
 

 
    this.audio = new Audio(music); 
 
    this.audio.play() 
 
    }, 
 
    handleStopMusic: function() { 
 

 
    this.audio.pause() 
 
    } 
 
}; 
 
obj.handlePlayMusic('audio/audio.mp3');

Fiddle Demo(讓聲音先被裝!)