2016-05-27 4 views
0
abspielen

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); 
    }); 
} 
+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(); –

Antwort

0

bekam die Antwort, hier die Lösung für diese: Verwenden Sie 64-Bit-String-Mediendateien statt, um Audio-Puffer Umwandlung zu spielen: me.fileString = "data:audio/wav;base64," + data.tonebyteArray; var audio = new Audio(fileString); audio.play();