网页在线弹琴,如何设置audio使多个声音可以重叠在一起播放

时间:2021-02-02 15:15:44

function playSound(src) { //播放声音文件的函数
    if (_.sound) {
        let sound = new Audio();
        sound.src = src;
        sound.play();
    } else {
        return false;
    }
}

&key.bind("click", function() { //琴键绑定点击事件:播放音效
    playSound("sound/C.mp3"); //声音文件只有2秒,很短,想达到多次点击可以重叠的效果
});

如果这样设置,Chrome能达到效果,而Firefox里如果连续点击按键,多个声音不会即时叠在一起播放,而是排着队一个个播放,效果很奇怪。
我希望能有这样的效果,如 声音1有2s,已经播放了1s的时候点击声音2,此时能够同时播放声音1的后1s以及声音2。
请教各位大神,谢谢了

2 个解决方案

#1


要非常精准无延迟的进行多个音频混合播放,建议使用 Web Audio API,目前H5网页游戏中的音效都是用的这个api

http://www.tuicool.com/articles/IBRbMr2

https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API

#2


楼上正解:弃用audio。使用Web Audio API
http://www.tuicool.com/articles/mAve2ev

#1


要非常精准无延迟的进行多个音频混合播放,建议使用 Web Audio API,目前H5网页游戏中的音效都是用的这个api

http://www.tuicool.com/articles/IBRbMr2

https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API

#2


楼上正解:弃用audio。使用Web Audio API
http://www.tuicool.com/articles/mAve2ev