網(wǎng)頁實現(xiàn)屏幕的錄制

<template>  
  <h1>網(wǎng)頁實現(xiàn)屏幕的錄制</h1>
  <button @click="shareScreen" >開始</button>
</template>

<script setup lang="ts">   
//觸發(fā)共享桌面
const shareScreen = async () => { 
  const stream = await navigator.mediaDevices.getDisplayMedia({
    video: true,
    audio: false //不捕獲音頻
  });
  
  //檢查多媒體是否支持videoh264格式
  const mime = MediaRecorder.isTypeSupported("video/webm;codecs=h264") ? "video/webm;codecs=h264" : "video/webm";
  
  //創(chuàng)建媒體流
  const mediaRecorder = new MediaRecorder(stream, { mimeType: mime });
  
  //創(chuàng)建媒體流數(shù)組
  const chunks: any[] = [];
  
  //把每一段媒體流傳入數(shù)組內(nèi)
  mediaRecorder.addEventListener("dataavailable", function (e:any) {
    chunks.push(e.data);
  });
  
  //媒體流停止的時候做處理
  mediaRecorder.addEventListener("stop", () => {
    const blob = new Blob(chunks, { type: chunks[0].type });
    const url = URL.createObjectURL(blob);
    const a = document.createElement("a");
    a.href = url;
    a.download = "video.webm";
    a.click();
  });

  //啟動媒體流
  mediaRecorder.start();
};
</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容