javascript - 如何将.wav响应转换为Blob网址,以便我可以使用javascript在客户端播放音频

标签 javascript html audio blob

我正在做一个休息电话,它将给我作为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/

相关文章:

jquery - 在 jQuery 中停止 HTML5 音频标签

javascript - 向 jquery 宝丽来画廊添加缩放功能

javascript - 如何使用Jquery插件开发显示和隐藏段落?

javascript - 调用 Servlet 并从 JavaScript 和参数调用 Java 代码

javascript - 如何在此 slider /旋转木马的每个框下方添加不同的文本?

jquery - Internet Explorer 7 jquery 幻灯片布局

android - 随机声音onclick按钮Android Assets

ios - 音频播放器按钮

javascript - 如何在点击时增加计数器?

javascript - 当 JS 压缩器重命名变量时,如何通过 eval() 设置变量?