如何在点击事件上逐个播放声音文件

时间:2015-05-20 11:43:31

标签: javascript html

我有一些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();

我的音频输出是 - 如果点击多个链接,则之前的音频将停止或暂停,当前点击的音频将播放。

1 个答案:

答案 0 :(得分: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使其全局化,以便我们可以停止以前播放的音频