【问题标题】:How to play sound file one by one on click event如何在点击事件中一一播放声音文件
【发布时间】:2015-08-01 15:25:37
【问题描述】:

我有一些 mp3 格式的音频文件。我想在 JavaScript 中的点击事件上播放它。我尝试了一些代码。但问题是,当我单击多个链接时,所有相应的音频都会一起播放。 但我想一个一个地玩。表示之前的音频将停止并播放当前点击的音频。
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();

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

【问题讨论】:

  • 添加点击监听器并在播放所选音频之前停止页面上的所有音频?
  • 我添加了 pause() 方法。但它在这里不起作用。为什么?

标签: javascript html


【解决方案1】:

您只需要声明一个名为 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 将其设为全局,以便我们可以停止之前播放的音频

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多