开发一个H5游戏,需要预加载一些音频文件,并在特定的情况下播放。目前实现的代码是:
function loadSound(sounds, callback) {
var toLoadLength = sounds.length;
var loadLength = 0;
for (var i = toLoadLength; i--;) {
var src = sounds[i];
source[src] = new Audio();
source[src].addEventListener("canplaythrough", function () {
loadLength++;
if (toLoadLength === loadLength) {
callback();
}
});
source[src].src = gameDate.config.soundSrc + src;
}
}
在电脑上播放没问题,安卓手机没问题,到了iPhone就不行了,一直卡在加载环节,后来调试发现canplaythrough
事件没有触发,callback
没有运行。
请问有什么解决办法吗?
问题解决,基于微信的H5页面