$(document).ready(function()
{
const howlerList = {};
for (var i = sounds.length - 1; i >= 0; i--)
{
howlerList[sounds[i]] = new Howl({src: ["/sounds/" + sounds[i] + ".mp3"]});
$("#" + sounds[i]).click(function()
{
howlerList[$(this).attr("id")].play();
});
};
});
这是我的代码。这些声音存储在名为sound的文件夹中,并且其ID位于JSON文件中。咆哮jQuery播放新声音时会停止所有声音
我试图停止当按下新按钮时播放当前所有声音。
更改为下面的代码将停止并单击同一个按钮时重新启动声音。但是,如果我点击其他按钮,那么多个声音将同时播放。
$("#" + sounds[i]).click(function()
{
howlerList[$(this).attr("id")].stop();
howlerList[$(this).attr("id")].play();
});
我希望它一次只播放1个声音,不管按哪个按钮。有什么建议么?
谢谢。
您是否尝试过所有的howlerList元素循环和播放他们点击特定的一个前停止()呢? – Taplar
不,我没有,这是一个很好的建议,但亚当的答案下面的工作。 – Programmer7