0

我正在尝试保存这样的 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;
}

当我打印出“块” blob 时,它有数据,但是当它转换为 Array Buffer 时,所有数据都丢失了。

我怎样才能解决这个问题?

4

0 回答 0