国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用JS實現(xiàn)簡單的屏幕錄像機

這篇具有很好參考價值的文章主要介紹了用JS實現(xiàn)簡單的屏幕錄像機。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文將介紹如何用JS實現(xiàn)簡單的屏幕錄像機。

一、錄制準備

創(chuàng)建一個按鈕

<button id="recording-toggle">Start recording</button>

書寫JavaScript

var RECORDING_ONGOING = false;
var recordingToggle = document.getElementById("recording-toggle"); // 按鈕

recordingToggle.addEventListener("click", function(){
     RECORDING_ONGOING = !RECORDING_ONGOING; // 開始 / 停止 錄制
     if(RECORDING_ONGOING){
         recordingToggle.innerHTML = "Stop Recording";
         startRecording(); // 開始錄制
     } else {
         recordingToggle.innerHTML = "Start Recording";
         stopRecording(); // 停止錄制
 }
});

看起來內容很多,但實際上,只是向按鈕添加一個事件偵聽器來開始和停止記錄并相應地更改文本。

二、開始錄制

在寫功能函數(shù)之前,聲明 3 個全局變量(在函數(shù)之外)。

var blob, mediaRecorder = null;
var chunks = [];

現(xiàn)在,開始屏幕錄制

async function startRecording(){
     var stream = await navigator.mediaDevices.getDisplayMedia(
         {video: {mediaSource: "screen"}, audio: true}
     );

     deviceRecorder = new deviceRecorder(stream, {mimeType: "video/webm"});
}

在用戶屏幕之外創(chuàng)建媒體流。媒體記錄器有一個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=avc1"))

向該函數(shù)添加幾行startRecording

 deviceRecorder.ondataavailable = (e) => {
     if(e.data.size > 0){
         chunks.push(e.data);
     }
 }
 deviceRecorder.onstop = () => {
     chunks = [];
 }
 deviceRecorder.start(250)

每當有數(shù)據時,都會將其添加到塊數(shù)組(之前定義)中。當停止錄制時,將調用該stopRecording() 函數(shù)。

三、停止錄制

function stopRecording(){
     var filename = window.prompt("File name", "video"); // Ask the file name

     deviceRecorder.stop(); // 停止錄制
     blob = new Blob(chunks, {type: "video/webm"})
     chunks = [] // 重置數(shù)據塊
     var dataDownloadUrl = URL.createObjectURL(blob);

     // 將其下載到用戶的設備上
     let a = document.createElement('a')
     a.href = dataDownloadUrl;
     a.download = `${filename}.webm`
     a.click()
 
     URL.revokeObjectURL(dataDownloadUrl)
}

用JS做錄屏就是這么簡單。如果你想要 mp4 或其他格式,則必須使用 API 進行轉換或自己進行轉換。

瀏覽器會通知是否正在共享屏幕

作者:京東保險?張潔

來源:京東云開發(fā)者社區(qū) 轉載請注明來源文章來源地址http://www.zghlxwxcb.cn/news/detail-760456.html

到了這里,關于用JS實現(xiàn)簡單的屏幕錄像機的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • ??涤脖P錄像機接入RTSP/onvif協(xié)議安防視頻平臺EasyNVR的注意事項

    海康硬盤錄像機接入RTSP/onvif協(xié)議安防視頻平臺EasyNVR的注意事項

    EasyNVR安防視頻云服務平臺可支持設備通過RTSP/Onvif協(xié)議接入平臺,能提供視頻監(jiān)控直播、錄像、云存儲、檢索與回看、國標級聯(lián)等視頻能力,可支持分發(fā)RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式的視頻流。 有用戶咨詢,將??涤脖P錄像機接入EasyNVR平臺后顯示離線,不知道什

    2024年02月05日
    瀏覽(19)
  • ??怠⒋笕A、tplink監(jiān)控攝像頭和硬盤錄像機接入GB28181平臺配置細節(jié)

    海康、大華、tplink監(jiān)控攝像頭和硬盤錄像機接入GB28181平臺配置細節(jié)

    ??怠⒋笕A、tplink等各種型號監(jiān)控攝像頭或硬盤錄像機(NVR/HVR)接入GB28181平臺,配置過程都非常簡單明了,但有些細節(jié)需要注意,避免走彎路踩泥坑。 首先要說明一點的是,只要監(jiān)控設備和GB28181平臺的網絡是連通的,都可以順暢的接入,不需要為監(jiān)控設備配置外網地址,更不

    2024年02月07日
    瀏覽(26)
  • EasyNTS穿透內網后,??涤脖P錄像機拉取不到RTSP流是什么原因?

    EasyNTS穿透內網后,??涤脖P錄像機拉取不到RTSP流是什么原因?

    EasyNTS上云網關具備內網穿透、組網運維、多協(xié)議視頻流拉轉推、設備/業(yè)務上云等功能,它可以解決異地視頻共享/組網/上云的需求。其中,EasyNTS上云網關硬件(EasyNTD)可以放置在項目現(xiàn)場,它也同樣具備EasyNTS軟件平臺的功能。 有用戶反饋,在項目現(xiàn)場利用EasyNTD配合EasyNT

    2024年02月11日
    瀏覽(32)
  • 254、跟你一起學習兩招:一臺錄像機如何添加兩個不同網段的攝像頭

    254、跟你一起學習兩招:一臺錄像機如何添加兩個不同網段的攝像頭

    錄像主機怎樣添加不同網段ip的攝像頭?這個在實際項目有可能會遇到,也有不少的朋友在問起,之前發(fā)布的內容中我們有一個大概的介紹,本期我們來詳細總結下具體如何實現(xiàn)錄像機添加不同網段ip的攝像頭?常用的有兩種方法。 方法一、使用雙網口錄像機添加不同網段的

    2024年02月09日
    瀏覽(23)
  • vue中web端播放rtsp視頻流(攝像頭監(jiān)控視頻)(??低曚浵駲C)

    vue中web端播放rtsp視頻流(攝像頭監(jiān)控視頻)(海康威視錄像機)

    ffmpeg下載?https://ffmpeg.org/download.html 找ffmpeg-release-essentials.zip點擊下載,下載完解壓 ffmpeg.exe 程序運行 添加成功后驗證是否生效任意地方打開cmd窗口輸入 ffmpeg 打印如下表示成功 新建一個app.js文件,同級目錄下npm安裝 node-rtsp-stream 我是直接寫在項目里了,你們可以單獨寫在外

    2024年04月25日
    瀏覽(36)
  • vue對接??禂z像頭,使用hk3.3(硬盤錄像機)開發(fā)攝像頭分屏翻頁操作。

    默認展示4*4規(guī)格,分屏之后自己寫翻頁方法,對攝像頭一一展示(1x1, 2x2, 3x3, 4x4),有倆個場景。 1、剛開始默認展示的時候進行分頁。 2、點擊分屏操作之后進行分頁。 思路: 1、拿到所有的通道號,比如有[1, 2, 3…, 100]; 2、 點擊分屏之后就會把這個數(shù)組變?yōu)?1*1[[1], [

    2024年02月13日
    瀏覽(18)
  • Unity實現(xiàn)攝像機向屏幕中間發(fā)射射線射擊物體

    Unity實現(xiàn)攝像機向屏幕中間發(fā)射射線射擊物體

    外部找個PNG透明圖,拖到Unity文件夾,右上角改成精靈sprite2d 2.添加到UI畫布 ? 3.寫腳本 首先,我們需要引入一些 \\\"工具\\\",就像我們在玩游戲時要先下載游戲客戶端一樣。這里的 \\\"工具\\\" 就是一些命名空間,讓我們可以方便地使用 System 和 UnityEngine 類。 ?? 接下來,我們創(chuàng)建了

    2024年02月08日
    瀏覽(26)
  • Android4.4實現(xiàn)簡單的錄像功能

    一、前言 在Android中實現(xiàn)錄像功能,高版本Android和低版本Android的API使用方式不同。本文以Android4.4系統(tǒng)為基礎,簡單的列舉一下實現(xiàn)過程。 二、步驟 要在 Android 4.4 中實現(xiàn)錄像功能,可按照以下步驟進行操作: 在布局文件中添加一個 SurfaceView 控件,作為預覽畫面的容器。 獲

    2024年02月10日
    瀏覽(20)
  • unity實現(xiàn)簡單的攝像機震動效果(包括普通攝像機和虛擬攝像機)

    用代碼實現(xiàn)攝像機簡單的震動效果

    2024年02月12日
    瀏覽(33)
  • 「更新」Macos屏幕錄像工具:ScreenFlow

    「更新」Macos屏幕錄像工具:ScreenFlow

    mac電腦屏幕截圖工具哪個好?ScreenFlow是Mac上的一款優(yōu)秀的屏幕錄像軟件,它不僅具有屏幕錄制功能,還具有視頻編輯功能。以下是對ScreenFlow的一些詳細介紹: 首先,ScreenFlow可以捕獲攝像機、麥克風和計算機音頻,同時支持同時捕獲多個屏幕或特定區(qū)域。在錄制過程中,Sc

    2024年02月06日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包