昨天我們解說了如何取得螢幕目前的狀態 , 那要如何錄製畫面呢 ?
先看成果

我們需要用到 JS 中的 API - mediaRecorder
MediaRecorder 可將 stream 載入 , 利用此物件上的 ondataavailable 方法收集 byteArray
 function startRecord(stream) {
        document.getElementById("listAllSources").style.display = 'none';
        document.getElementById("stopRecord").style.display = 'block';
        let chunks = [];
        window.mediaRecorder = new MediaRecorder(stream);
        const mediaRecorder = window.mediaRecorder;
        mediaRecorder.onstart = () => chunks = [];
        mediaRecorder.ondataavailable = e => chunks.push(e.data);
        mediaRecorder.onstop = () => download(chunks);
        mediaRecorder.start();
    }
然後利用 createObjectURL 將 byteArray 轉換成檔案 test.webm 下載
 function download(recordedChunks) {
        const blob = new Blob(recordedChunks, {type: "video/webm"});
        const url = URL.createObjectURL(blob);
        const a = document.createElement("a");
        document.body.appendChild(a);
        a.style = "display: none";
        a.href = url;
        a.download = "test.webm";
        a.click();
        window.URL.revokeObjectURL(url);
    }
之後我們就可以錄製螢幕了 !

今年小弟第一次參加 `鐵人賽` , 如文章有誤 , 請各位前輩提出指正 , 感謝  <(_ _)>