play .wav sound file encoded in base64 with javascript
base64, html, javascript
Solution
That doesn't look like the correct way to use the Audio constructor for HTMLAudioElement / `<audio>`.
Slight adjustment
var snd = new Audio("data:audio/wav;base64," + base64string);
snd.play();
If it works in console but not in script, it may be getting garbage collected, in which case scope it so it will stay
var Sound = (function () {
var df = document.createDocumentFragment();
return function Sound(src) {
var snd = new Audio(src);
df.appendChild(snd); // keep in fragment until finished playing
snd.addEventListener('ended', function () {df.removeChild(snd);});
snd.play();
return snd;
}
}());
// then do it
var snd = Sound("data:audio/wav;base64," + base64string);
Problem
Am able to play sound with javascript through the following, ``` var snd = new Audio('sound.wav'); snd.play(); ``` This plays the required sound but sometimes it loads slowly or might not even load at all so i encoded the sound in base 64 and tried to play it this way. ``` var splash = { prefix: "data:audio/wav;base64,", sound: [ "*base64 string here*" ] }; var snd = new Audio(splash); snd.play(); ``` but the sound does not play, is there a way around it ?