我正在与MediaRecoder合作,将画布动作另存为Video。(格式无关紧要)
var recordedBlobs =[];
var stream = canvas.captureStream();
var mediaRecorder = new MediaRecorder(stream, options);
captureStream函数收集我的canvas编辑的数据,并且我正在使用此函数保存该数据。
function handleDataAvailable(event) {
if (event.data && event.data.size > 0) {
recordedBlobs.push(event.data);
}
}
当停止录制流时,我正在调用此函数以将录制的Blob播放为视频。
function handleStop(event) {
debugger;
console.log('Recorder stopped: ', event);
const superBuffer = new Blob(recordedBlobs, { type:'video/webm'});
video.src = window.URL.createObjectURL(superBuffer);
}
工作正常。 Videoplayer开始将我的画布数据作为视频播放。 但是我想将此值记录到txt文件或类似的文件中。原因是此画布操作可能需要1个小时,视频大小可能是1 GB,然后更多。我的目标是在另一页中阅读此txt并将其作为视频播放,但我不知道该怎么做。
我保存这些数据的最佳方法是什么?
答案 0 :(得分:0)
您就在那里,只需添加
const superBuffer = new Blob(recordedBlobs, { type:'video/webm'});
let objUrl = window.URL.createObjectURL(superBuffer);
let anchor = document.createElement('a');
anchor.href = objUrl;
anchor.setAttribute('download', 'YourFileName.txt');
anchor.click();