Je suis capable de jouer du son avec javascript par le biais de ce qui suit,
var snd = new Audio('sound.wav'); snd.play();
Cela joue le son requis, mais parfois il se charge lentement ou peut-être même pas du tout chargé, j'ai encodé le son dans la base 64 et j'ai essayé de le lire de cette façon.
var splash = { prefix: "data:audio/wav;base64,", sound: [ "*base64 string here*" ] }; var snd = new Audio(splash); snd.play();
Mais le son ne joue pas, y a-t-il un moyen de le faire?
Cela ne ressemble pas à la manière correcte d'utiliser le constructeur audio pour HTMLAudioElement / <audio>
.
Un léger ajustement
var snd = new Audio("data:audio/wav;base64," + base64string); snd.play();
Si cela fonctionne dans la console, mais pas dans le script, il se peut que les ordures soient collectées, dans ce cas, alors, cela restera
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, <URI data>"); snd.play();
Il n'est pas nécessaire de déclarer splash comme variable d'objet.
La conversion Base64 se fait facilement à partir de: https://dopiaza.org/tools/datauri/index.php