如何.WAV响应转换到BLOB URL,这样我可以为音频在客户端使用javascript
问题描述:
发挥我在做一个REST调用它会给我作为audio/mpeg
内容类型的wav
响应,像如何.WAV响应转换到BLOB URL,这样我可以为音频在客户端使用javascript
ID3.O��^H��B��F�����^H��B��F���
我想在我的客户端播放此音频。所以我想为此创建一个blob网址。
$.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 url但没有正确的格式无法播放that.can某人的帮助。 感谢
答
你必须使用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();
嗨,你好,我用尽它给了我一滴网址,但不能播放音频...在console.When给予以下错误我打开bloburl 失败加载资源:服务器响应的状态为416(请求的范围不可满足) – hammy
Hello.It现在工作,实际上我们提到响应类型为blob,因此再次创建字节数组并将其转换为blob并不是必需的 – hammy
即使这不是需要 var blob = new Blob(this.response,{t ype:“audio/mpeg3”}); – hammy