是否可以将 wav 字符串转换为 html5 blob?
(我不是在寻找跨浏览器兼容的解决方案,我只需要它在 Chrome 中工作)。
wavString = "RIFF WAVEfmt D¬Xdata ¦®µ¼ÃÊÐÖÜáæêïòõøúüýþþþþüûøöóïëçâÜ×ÑËĽ¶¯§ xph`YQJC<5/~)~#~~~~~~ ~~~~~~~~~~~~~~~~~~!~'~,~3~9~@~GNV^emu}¥¬´»ÂÈÏÕÛàåéîñõøúüýþþþþýûùöóðìèãÞØÒÌÅ¿¸°©¡zrjb~Z~S~K~D~=~6~0~*~$}}}}}
}.....a lot of ugly chars.....";
我可以将 wavString 转换为 html5 音频对象,如果播放声音,我可以听到 wav 声音:
var wave = new Audio('data:audio/wav;base64,' + btoa(wavString));
wave.controls = true;
document.body.appendChild(wave);
但是我无法从中创建一个 wav blob,这是我尝试过的没有运气的方法:(我尝试了 type 和 blob vars 的所有组合):
var type = "audio/x-wav";
var type = "application/octet-stream";
var blob = new Blob([btoa(wavString)], {type: type});
var blob = new Blob(['data:audio/wav;base64,' + btoa(wavString)], {type: type});
var blob = new Blob([wavString], {type: type});
这些都不起作用:它们创建 blob,但我无法将它们保存到服务器并将它们作为 wav 文件收听。我想要做的是创建一个可以作为 wav 文件导出到服务器的 blob。实际上我可以将有效的 wav blob 导出到服务器,问题实际上是将此 wavString 转换为有效的 wav blob。