我如何从POST响应中播放音频?

问题描述 投票:0回答:1

我正在对网站进行ajax调用,为我生成音频文件。

    $.ajax({
        type: "POST",
        url: "http://localhost/download",
        data: "data",
        success: (response=>{
        console.log(response)
        const w = new Audio(response);
        w.play()    
    })

})

我得到了预期的响应文件大小(我可以在网络选项卡中检查它),但是当我试图将响应分配为一个新的音频时,它最终以错误结束

Invalid URI. Load of media resource ID3� failed.
javascript ajax post audio
1个回答
1
投票

从blob中创建一个ObjectURL后,你需要设置音频的来源。

$.ajax({
  type: "POST",
  url: "http://localhost/download",
  data: "data",
  success: (response) => {
    console.log(response);
    var url = window.URL.createObjectURL(response.value); //where value is the blob
    const w = new Audio();
    w.src = url;
    w.play();
  },
});
© www.soinside.com 2019 - 2024. All rights reserved.