我正在通过浏览器录制音频并使用react-mic库将其存储为blob,我需要将blob音频文件更改为mp3 / ogg / wav文件,并使用ReactJS将其存储在本地目录中。
Blob示例:
{blob:Blob(5899),startTime:1518600546820,stopTime:1518600547833,options:{audioBitsPerSecond:128000,mimeType:" audio / mpeg"}, blobURL:" blob:http://localhost:3000/3ac81ece-237f-4265-8225-6653b2beb0bc"}
这里我将blob存储在一个州,
onStop = (recordedBlob) => {
this.setState({
blobMain: recordedBlob
})
}
而不是blob我想存储一个mp3 / ogg / wav文件。并使用状态进行api响应。
我尝试使用Filereader()将blob转换为ArrayBuffer并将其转换为mp3 / ogg / wave文件。
onStop = (recordedBlob) => {
var arrayBuffer;
var fileReader = new FileReader();
fileReader.onload = function() {
arrayBuffer = this.result;
};
fileReader.readAsArrayBuffer(recordedBlob);
this.setState({
blobMain: fileReader
})
}
但我得到一个错误:
TypeError:无法执行' readAsArrayBuffer' on' FileReader':参数1的类型不是' Blob'。