Предварительная загрузка аудио файлов / событий?
Я предварительно загружаю все свои активы перед тем, как запустить приложение на основе JS, выполняя:
assets = [....]; // files
$.each(assets,function(){
var r = /\.([^\.]+)$/;
var ext = r.exec(this); //get file type
if (ext[1] == 'png'){
var tmp = new Image();
} else if (ext[1] == 'mp3'){
var tmp = new Audio();
}
tmp.src = this;
tmp.onload = function(){
var i = assets.indexOf(this);
assets.splice(i,1);
if (!assets.length){
console.log('all loaded');
app.build();
}
}
});
Это прекрасно работает, когда у меня есть толькоpng
в моем массиве, но когда я добавляю аудио (mp3s), создается элемент DOM, но он никогда не запускаетonload
поэтому приложение никогда не запускается. Я пытался добавитьtmp.load()
уже, но это не имело никакого значения - также я не мог действительно найти исчерпывающую информацию в Интернете. Возможен ли такой подход? ДелаетAudio()
даже запустить соответствующее событие? Спасибо!