Ich möchte ein Bytearray zu Audiobuffer dekodieren und meine WAV-Datei im Browser mit JS spielen. Hier ist der Code, den ich benutze, aber beim Klicken auf Play-Taste bekomme ich eine Ausnahme, d. H. "Kann Audiodaten nicht dekodieren".wie ByteArray in AudioBuffer konvertieren und in Javascript
{
if (!window.AudioContext){
if (!window.webkitAudioContext){
alert("Your browser does not support any AudioContext and cannot play back this audio.");
return;
}
}
var context = new AudioContext();
var arr = me.queueStore.getAt(0).data.ByteAudio;
var arrayBuffer = new ArrayBuffer(arr.length);
var bufferView = new Uint8Array(arrayBuffer);
for (i = 0; i < arr.length; i++) {
bufferView[i] = arr[i];
}
context.decodeAudioData(bufferView, function (buffer) {
var source = context.createBufferSource(); // creates a sound source
source.buffer = buffer; // tell the source which sound to play
source.connect(context.destination);
source.start(0);
});
}
bekam die Antwort, hier die Lösung für diese: Verwenden Sie 64-Bit-Zeichenfolge zu spielen Mediendateien werden stattdessen in Audiopuffer umgewandelt: me.fileString = "data: audio/wav; base64" + data.Tone; var audio = neues Audio (fileString); audio.play(); –