如何在HTML5中停止和播放多个声音而不重叠它们?

时间:2013-11-19 12:15:44

标签: javascript html5 html5-audio

我使用javascript 音频类在HTML5应用程序的后台播放不同的音频文件。
每个音频文件都绑定到按钮的单击事件。

现在我想要实现的是,当单击一个按钮时,当前正在进行的音频应立即停止,并且应该启动绑定到该特定按钮的音频。

我尝试使用 pause()静音()方法,但在这两种情况下,音频都会在很短的时间内重叠(< = 1秒)。

这个问题有解决办法吗?以下是我目前使用的代码:

    if (sound === null) {  
        sound = new Audio("sounds/" + audioId + ".mp3");  
        sound.play();        
    }  
    else {
          sound.pause();  
          sound.src = "sounds/" + audioId + ".mp3";  
          sound.play();  
    }

if (sound === null) { sound = new Audio("sounds/" + audioId + ".mp3"); sound.play(); } else { sound.pause(); sound.src = "sounds/" + audioId + ".mp3"; sound.play(); }

1 个答案:

答案 0 :(得分:0)

您可以使用played()此功能设置或返回音频/视频是否暂停。

首先,您暂停音频,然后在播放声音后使用paused()检查音频是否暂停,而不是在暂停后播放音频。