2015-05-20 48 views
1

我有一些mp3格式的音頻文件。我想用JavaScript中的click事件播放它。我嘗試了一些代碼。但問題是,當我點擊多個鏈接,然後所有的音頻一起播放。 但我想一個一個地玩。意味着以前的音頻將停止播放當前點擊的音頻。
JavaScript代碼是 -
如何在點擊事件中逐個播放聲音文件

var audiofullpathdufault=audioPath; 
var xNewaudiodefault = document.createElement("AUDIO"); 
if (xNewaudiodefault.canPlayType("audio/mpeg")) 
{ 
    xNewaudiodefault.setAttribute("src",audiofullpathdufault); 
} 
else 
{ 
    xNewaudiodefault.setAttribute("src",audiofullpathdufault); 
} 
xNewaudiodefault.setAttribute("controls", "controls"); 
xNewaudiodefault.pause(); 
xNewaudiodefault.play(); 

我的音頻輸出 - 如果點擊多個鏈接,然後前面的音頻將停止或暫停和電流點擊音頻將發揮。

+0

添加點擊監聽器和播放所選擇的一個之前停止網頁上的所有音頻? – trainoasis

+0

我有添加pause()方法。但它不在這裏工作。爲什麼? –

+0

可能的重複:[在播放新視頻時停止所有視頻](http://stackoverflow.com/questions/14890267/stop-all-videos-when-a-new-video-is-played) – ozil

回答

0

你只需要聲明的onclick調用的函數,其將停止以前的音頻並在新的聲音:

function playAudio (src) { 
    if(window.audio) { 
     audio.pause(); 
    } 
    window.audio = new Audio (src); 
    window.audio.play(); 
} 

現在你需要做的是調用它,當你點擊一個鏈接:

<tag onclick="playAudio('/link/to/audio.mp3')"> Click Me </tag> 

通知我用window.audio使其全球,這樣我們可以停止先前播放的音頻

+0

其作品爲我。謝謝。 –