我正在尝试将 AudioBuffer 转换为可以下载的 wav 文件。我尝试了两种方法:第一种,我记录所有发出的声音并扔到媒体记录器中并执行以下操作:
App.model.mediaRecorder.ondataavailable = function(evt) {
// push each chunk (blobs) in an array
//console.log(evt.data)
App.model.chunks.push(evt.data);
};
App.model.mediaRecorder.onstop = function(evt) {
// Make blob out of our blobs, and open it.
var blob = new Blob(App.model.chunks, { 'type' : 'audio/wav; codecs=opus' });
createDownloadLink(blob);
};
Run Code Online (Sandbox Code Playgroud)
我创建一个包含 Blob 的块表,然后使用这些块创建一个新的 Blob。然后在函数“createDownloadLink()”中,我创建一个音频节点和一个下载链接:
function createDownloadLink(blob) {
var url = URL.createObjectURL(blob);
var li = document.createElement('li');
var au = document.createElement('audio');
li.className = "recordedElement";
var hf = document.createElement('a');
li.style.textDecoration ="none";
au.controls = true;
au.src = …
Run Code Online (Sandbox Code Playgroud)