如何解决如何在浏览器中使用 mediaRecorder 创建重播缓冲区?
var buffer=[]
const startDisplay = () => {
//set interval to 60fps
mainStream.drawImage(video,canvas.width,canvas.height);
mediaRec.requestData();
};
const initializeRecorder = (stream) => {
//stream is the window capture
mediaRec = new window.MediaRecorder(stream);
mediaRec.ondataavailable = processBuffer;
mediaRec.start(5000);
};
const processBuffer = (data) => {
buffer.push(data.data);
if (buffer.length >= 60*5) {
buffer= buffer.slice(60);
}
};
const saveRec = async () => {
let blob = new Blob(
buffer.slice(0,buffer.length - (buffer.length % 60) + 7),{
type: "video/webm; codecs=vp9",}
);
window.open(URL.createObjectURL(blob),"parent");
};
仅在前 5 秒内有效,然后不显示(除非前 7 帧不存在) 这 7 帧是 Blob(size:0,type:"video/webm; codecs=vp9") 我想创建一种可变缓冲区来记录 有时可能是 5 秒或 10 秒,具体取决于时刻的延长
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。