Suggestion: playSound at different sound level, and asset pre-loading

Some feedback from my students:

It would be very helpful for playSound to have another parameter (e.g. a double from 0 to 1) that would play the .mp3 file at that volume, as the only way to tackle volume now is to upload audio file with different volume.

Asset pre-load can improve user experience by reducing download lag. While doable for image files, preloading audio is particularly difficult, given the download lag and the asynchronous nature of playSound(), which will render any stopSound, unless in a timed loop, useless. An API for preloading specific assets, or a callback for playSound, would be great.

Update:

After some testing, It appears that playSound can have up to three parameters (file name, loop/no loop, callback), two of which is undocumented.

playSound(allso[k]+".mp3", false, function(){
stopSound();
});

In this sense, sound preloading is possible, as the audio immediately stops after it’s ready for playback.