hypeDocument.unloadAllSoundsByName
resets all the audio element and removes them from the DOM given the library name (without mp3/ogg)
You will only need this if you are concerned with garbage collection.
/**
* hypeDocument.unloadAllSoundsByName 1.0
* @param soundname
*/
hypeDocument.unloadAllSoundsByName = function(soundname){
if (!hypeDocument.hasOwnProperty('_sounds')) return false;
var success = false;
for(var id in hypeDocument._sounds) {
if(id.indexOf(soundname+'_-_') == 0){
var elm = hypeDocument._sounds[id];
elm.src=''; elm.load();
elm.parentNode.removeChild(elm);
delete hypeDocument._sounds[id];
success = true;
}
}
return success;
}
Usage:
Given you have a “soundfile.mp3” in your library and are using it multiple times (see loadSound for details) this function will remove all instances by name.
hypeDocument.unloadAllSoundsByName('soundfile');