【发布时间】:2018-05-14 07:39:57
【问题描述】:
我在做一个游戏,我想加载798个声音文件,但是只有Chrome有问题,火狐没问题。示例代码:https://jsfiddle.net/76zb42ag/,见控制台(按 F12)。
有时脚本只加载 100、500、700 个文件,有时很好。如果我将文件数量减少到前。 300 没问题(总是)。我怎么解决这个问题?我需要回调或任何想法?游戏将离线(node webkit)。
Javascript 代码:
var total = 0;
// sample file to download: http://www.sample-videos.com/audio/mp3/crowd-cheering.mp3
// sounds.length = 798 files
var sounds = [
(...limit character, see https://jsfiddle.net/76zb42ag/...)
];
for (var i in sounds) {
load(sounds[i]);
}
function load(file) {
var snd = new Audio();
snd.addEventListener('canplaythrough', loadedAudio, false);
snd.src = file;
}
function loadedAudio() {
total++;
console.log(total);
if (total == sounds.length){
console.log("COMPLETE");
}
}
【问题讨论】:
标签: javascript html google-chrome audio preload