riprodurre il file audio .wav codificato in base64 con javascript

Sono in grado di riprodurre suoni con javascript attraverso il seguente,

var snd = new Audio('sound.wav'); snd.play(); 

Questo suona il suono richiesto, ma a volte si carica lentamente o potrebbe anche non caricarsi affatto, quindi ho codificato il suono nella base 64 e ho provato a riprodurlo in questo modo.

  var splash = { prefix: "data:audio/wav;base64,", sound: [ "*base64 string here*" ] }; var snd = new Audio(splash); snd.play(); 

ma il suono non suona, c’è un modo per aggirarlo?

Non sembra il modo corretto di utilizzare il costruttore Audio per HTMLAudioElement / .

Leggera regolazione

 var snd = new Audio("data:audio/wav;base64," + base64string); snd.play(); 

Se funziona in console ma non in script, è ansible che venga raccolta la garbage collection, in tal caso, applicarla in modo che rimanga

 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); 
 var snd = new Audio("data:audio/x-wav;base64, "); snd.play(); 

Non è necessario dichiarare splash come variabile di object.

La conversione Base64 può essere fatta facilmente da: https://dopiaza.org/tools/datauri/index.php