audio preloader
by Ercan Cicek
JavaScript
// --- resources needed
// --- lodash & jQuery recommended
function preloadAudioFiles() {
var maxAudioFiles = 26,
audio = [],
loadedCount = 0;
_.times(maxAudioFiles, function (index) {
audio.push(["sfile_" + (index + 1) + ".mp3", (index + 1)]);
index++;
});
_.forEach(audio, function (a) {
$("body").append("<audio id='prlf_" + a[1] + "' preload='true'><source src='" + a[0] + "' type='audio/mpeg'></audio>");
document.getElementById("prlf_" + a[1]).oncanplaythrough = function () {
loadedCount++;
if (loadedCount === audio.length) { /* finish */ };
};
});
}