如果我在Chrome中连续播放声音,那么无限增加WebAudioSoundInstance
次数,因此内存消耗会增加。
如何避免它?
createjs.Sound.registerSound("audio/alarm.mp3", "alarm");
setInterval(function () {
createjs.Sound.play("alarm");
}, 6500);
答案 0 :(得分:1)
我找到了解决这个问题的方法。每次你播放声音它会创建一个webaudiosoundinstance,它也会返回它,你可以将它存储到一个变量中,如果变量存在且不是null,你可以调用play而不是调用全局函数...这将在这段时间内保持记忆稳定,不需要卸载和重新加载声音。
答案 1 :(得分:0)
现在我发现了这个肮脏的解决方法:
var i = 0;
createjs.Sound.registerSound("audio/alarm.mp3", "alarm");
setInterval(function () {
if (i == 10) {
createjs.Sound.removeSound("alarm");
createjs.Sound.registerSound("audio/alarm.mp3", "alarm");
i = 0;
}
createjs.Sound.play("alarm");
i++;
}, 6500);