2017-11-28 5 views
0

Ich sende Audio-Client node.js konvertieren:
res.send(audio);/audio it is the buffer array
Wie node.js Array-Puffer zu JavaScript-Array-Puffer

Und ich bekomme Objekt 'Arraybuffer' in Daten.

enter image description here

Und ich conver es Blob und nach (ich will DataURL, um es in Spieler zu zeigen) Datei

.then(
     (result) => { 
      result.arrayBuffer().then(function (data) { 
       const blob = new Blob([data], { type: 'audio/wav' }); 
       var fileReader = new FileReader(); 
       fileReader.readAsDataURL(blob); 
       fileReader.onload = function (evt) { 
        // Read out file contents as a Data URL 
        var url = evt.target.result; 
        res({blob, url}) 
       };  
      }) 
     } 
) 

Und es funktioniert gut. Ich benutze diese URL als src meines <audio> Attributs und es funktioniert.

Aber jetzt möchte ich diese Datei vom Server als Teil von Json senden. Jetzt bekomme ich audioBuffer aus dem Serve in "Audio" -Eigenschaft. Ich chage Arraybuffer Methode JSon in holen:

result.json().then(function (data) { 
     const blob = new Blob([data.audio], { type: 'audio/wav' }); 
     ... 

enter image description here

Aber jetzt funktioniert es nicht. Ich habe versucht, Modul www.npmjs.com/package/to-array-buffer zu verwenden, um data.audio zu js-arrayBuffer zu konvertieren, aber es hilft nicht.

Vielleicht wissen Sie, was das Problem hier ist?

Antwort

0

Ok, ich habe das Problem gelöst. Ich benutze Modul über whick Ich schrieb to-array-buffer, aber ich benutze nicht toArrayBuffer(data.audio) aber toArrayBuffer(data.audio.data)