2017-10-11 15 views
0

Je fais un appel de repos qui me donnerait comme wav réponse audio/mpeg type de contenu, quelque chose commeComment convertir réponse .wav pour url blob pour que je puisse jouer audio côté client en utilisant javascript

ID3.O��^H��B��F�����^H��B��F��� 

Je souhaite lire cet audio côté client. Donc, je veux créer une URL blob pour cela.

$.ajax({ 
     url: 'texttospeechnew2?text='+text+'&voice=en-US_AllisonVoice&download=true&accept=audio%2Fmp3', 
     type: 'GET', 
     //data: params, 
     success: function(data) { 

      responsefile = data; 
      var byteArray = new Uint8Array(responsefile); 
      var blob = new Blob(byteArray, { type: "audio/mpeg3" }); 
      const url = window.URL.createObjectURL(blob); 

      console.log(url); 


     }, 
     error: function(data, err) { 
      console.log("err"); 
     } 

    }); 

Il me donne l'URL de blob mais pas le format approprié incapable de jouer that.can quelqu'un d'aide. Merci

Répondre

0

Vous devez utiliser XMLHttpRequest

xhr = new XMLHttpRequest(); 
xhr.open('GET', 'texttospeechnew2?text='+text+'&voice=en-US_AllisonVoice&download=true&accept=audio%2Fmp3', true); 
xhr.responseType = 'blob'; 

xhr.onload = function(e) { 
    if (this.status == 200) { 
    const url = window.URL.createObjectURL(this.response); 
    console.log(url); 
    } 
}; 

xhr.send(); 
+0

Salut ... Ive essayé m'a donné url blob, mais ne peux pas jouer l'audio ... Donner erreur suivante dans console.When J'ouvre que bloburl Failed pour charger la ressource: le serveur a répondu avec un statut de 416 (Plage Requise Non Satisfaisant) – hammy

+0

Bonjour.Il a fonctionné maintenant, en fait nous avons mentionné le type de réponse comme blob donc encore en créant un tableau d'octets et en convertissant cela en blob n'est pas exigé – hammy

+0

requis var blob = new Blob (this.response, {t ype: "audio/mpeg3"}); – hammy