如何将base64音频数据解码为wav格式
Posted
技术标签:
【中文标题】如何将base64音频数据解码为wav格式【英文标题】:how to decode base64 audio data to wav format 【发布时间】:2014-12-11 12:10:48 【问题描述】:我正在浏览器中录制音频,并希望使用 ajax 调用将录音保存在服务器上。
我在 html5 浏览器中使用 recorderjs 库进行录制,它也可以正常工作。
所以我想做的只是解码该 blob/base64 数据,以便我可以将该数据发送到服务器进行保存。 这是我的代码。
我已将 blob 数据转换为 base64
var reader = new FileReader();
reader.onload = function()
var dataUrl = reader.result;
var base64 = dataUrl.split(',')[1];
/*base64 this needs to be decoded*/
;
reader.readAsDataURL(blob);
);
【问题讨论】:
"base64" 不是音频格式。只需在服务器上执行base64_decode
并将其保存为适当扩展名的文件...
其实我没有服务器端访问权限。我只能通过 ajax 发送数据和文件名。
这很愚蠢。在这种情况下,您希望 window.atob(base64)
在客户端解码。我想揍那个认为atob
是“解码base64 数据”的好名字的白痴……
我已经尝试过使用 window.atob(base64) 但不适合我。
我不明白,你有Base64,但你需要将它转换成东西发送到服务器以便保存,但你没有访问服务器的权限?服务器期望得到什么?
【参考方案1】:
我没有使用 base64 字符串,而是使用了代码中的“dataUrl”,并使用 Ajax 将此“dataUrl”数据存储到服务器。
所以每当我想播放我录制的音频时,我只需使用 ajax 获取数据,响应数据就会像下面的代码一样添加到音频源中。
var audio_obj = new Audio();
audio_obj = data; //ajax response data
audio_obj.play();
【讨论】:
你知道如何将 Base64 编码数据添加到音频中吗?以上是关于如何将base64音频数据解码为wav格式的主要内容,如果未能解决你的问题,请参考以下文章