浏览器API实现屏幕录制并保存为文件
const stream = await navigator.mediaDevices.getDisplayMedia({ video: true });
const chunks = [];
const rec = new MediaRecorder(stream, { mimeType: "video/webm" });
// 录制并保存数据到chunks中
rec.addEventListener("dataavailable", (e) => {
if (e.data && e.data.size > 0) {
chunks.push(e.data);
}
})
// 停止录制并下载
rec.addEventListener("stop", () => {
const blob = new Blob(chunks, { type: "video/webm" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
const date = new Date();
a.download = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}}.webm`;
a.click();
URL.revokeObjectURL(url);
});
// 开始录制
rec.start();

浙公网安备 33010602011771号