我正在尝试保存像这样的BLOB
function stopRecording() {
recorder.stop();
console.log(blobs)
toArrayBuffer(new Blob(blobs, { type: "video/webm" }), function(ab) {
console.log(ab)
var buffer = toBuffer(ab);
var file = `./SavedVideos/example.webm`;
fs.writeFile(file, buffer, function(err) {
if (err) {
console.error('Failed to save video ' + err);
} else {
console.log('Saved video: ' + file);
}
});
});
}
function toArrayBuffer(blob, cb) {
console.log(blob);
let fileReader = new FileReader();
fileReader.onload = function() {
let arrayBuffer = this.result;
cb(arrayBuffer);
};
fileReader.readAsArrayBuffer(blob);
}
function toBuffer(ab) {
console.log(ab);
let buffer = new Buffer(ab.byteLength);
let arr = new Uint8Array(ab);
for (let i = 0; i < arr.byteLength; i++) {
buffer[i] = arr[i];
}
return buffer;
}
当我打印出“chunks”blob时,它有数据,但是当它转换为Array Buffer时,所有数据都会丢失。
我该如何解决这个问题?