我正在做一个休息电话,它将给我作为wav
内容类型的audio/mpeg
响应,类似
ID3.O��^H��B��F�����^H��B��F���
我想在客户端播放此音频。所以我想为此创建一个blob URL。
$.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");
}
});
它给了我Blob网址,但格式不正确,无法播放。有人可以帮忙。
谢谢
最佳答案
您必须使用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();
关于javascript - 如何将.wav响应转换为Blob网址,以便我可以使用javascript在客户端播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46693152/