本文將向您展示如何使用 JS 實現乙個簡單的螢幕錄影機。
建立乙個按鈕。
start recording
編寫 j**ascript
var recording_ongoing = false;var recordingtoggle = document.getelementbyid("recording-toggle");按鈕錄製切換addeventlistener("click", function() else })
它可能看起來內容很多,但實際上,它只是在按鈕上新增乙個事件偵聽器來開始和停止錄製並相應地更改文字。
在編寫函式之前,宣告 3 個全域性變數(在函式外部)。
var blob, mediarecorder = null;var chunks =
現在,開始螢幕錄製。
async function startrecording(),audio: true} )devicerecorder = new devicerecorder(stream, )
在使用者螢幕之外建立流。 **記錄器具有 mimetype這是您想要的輸出檔案型別。
你可以在這裡閱讀更多關於mimetypes的資訊。
Edge 支援 Video Webmmime 型別。 這是檔案副檔名。 webm。您可以通過以下方式檢查您的瀏覽器是否支援 mimetype:
console.log(mediarecorder.istypesupported("video/webm"))console.log(mediarecorder.istypesupported("video/mp4"))console.log(mediarecorder.istypesupported("video/mp4;codecs=**c1"))
向函式新增幾行 startrecording
devicerecorder.ondata**ailable = (e) => devicerecorder.onstop = ()=> devicerecorder.start(250)
每當有資料時,它就會被新增到塊陣列(先前定義)中。 停止錄製時,將呼叫 stoprecording() 函式。
函式 stoprecording())chunks = 重置資料塊 var datadownloadurl = urlcreateobjecturl(blob);將其帶到使用者的裝置上,讓 = 文件createelement('a') a.href = datadownloadurl; a.download = `$webm` a.click() url.revokeobjecturl(datadownloadurl)}
使用 JS 進行螢幕錄製就這麼簡單。 如果您想要 MP4 或其他格式,則必須使用 API 進行轉換或自己進行轉換。
如果您的螢幕正在共享,瀏覽器會通知您。
作者:張杰,京東保險。*:京東雲開發者社群 **請註明**。