Прелоадинг коллекции audio (mp3) файлов
MSIE11, HTML5, JavaScript, new Audio()
Проблема: прелоадинг(-ируютя) только 123 файла?!
Условия упрощены до следующего состояния:
- в папке 350 одинаковых (.mp3 17Кб) файлов;
- имена файлов - номера от 1 до 350;
.
function collection(){
for(var i=1;i<=350;i++){MIM_BFR[i]=new Audio()
MIM_BFR[i].setAttribute('preload','auto')
MIM_BFR[i].addEventListener('loadeddata',MIM_Yes)
MIM_BFR[i].addEventListener('error',MIM_No)
MIM_BFR[i].setAttribute('autobuffer',true)
MIM_BFR[i].setAttribute('type','audio/mpeg')
MIM_BFR[i].src=mim_dir+i+'.mp3'
}
}
Т.е. в MIM_Yes()
фиксируются только 123 захода; всё остальное улетает в MIM_No()
:
- номера загруженных файлов 'случайные' в [1-350]; их, кстати, можно и упорядочить (1-->123), если new
Audio()
совершать с интервалом в несколько миллисекунд;
- попытка ввести число повторов при 'error' ничего нового не даёт;
- замена 'loadeddata' на 'canplaythrough' также ничего нового не даёт;
- употребление тега
audio(HTML5)
вместоnew Audio()(JavaScript)
- эффект тот же.
Вопрос: как объехать это ограничение - 123?
(Не хочется склеивать файлы (хотя папок со звуками, конечно, значительно меньше, чем 123) и считать интервалы!)
Источник: Stack Overflow на русском