API理解
MediaDevices.getDisplayMedia():提示用戶去選擇和授權捕獲展示的內容或部分內容,回傳一個 promise 物件,成功后會resolve回呼一個 MediaStream 物件,
語法
var displayMedia = navigator.mediaDevices.getDisplayMedia(constraints);
引數:可選的MediaStreamConstraints物件,它指定了回傳的MediaStream的要求,有video與audio兩個屬性,分別控制是否請求視頻、音頻軌道,
MediaRecorder:用來進行媒體錄制的介面, 通過呼叫 MediaRecorder() 構造方法實體化一個MediaRecorder物件,對指定的 MediaStream 物件進行錄制,
語法
new MediaRecorder(stream, [, options]);
**引數:**需要傳入兩個引數,第一個是stream,也就是我們通過getDisplayMedia拿到的媒體流 displayMedia,第二個是可選引數,主要有mimeType指定錄制的是音頻還是視頻,錄制的格式是什么,比如谷歌的音視頻格式video/webm, audio/webm, 還可以設定為mp4,
MediaRecorder的方法有很多,常用的有
- MediaRecorder.start(timeslice) 意思是開啟錄制,timeslice是一個可選引數,如果不設定會存盤在一個大的buffer中,如果設定了這個引數就會按照時間段存盤資料,比如說10s存盤一塊資料,
- MediaRecorder.stop() 關閉錄制,當停止錄制時會觸發ondataavailable事件,得到最終的blob資料,
示例代碼
https://codesandbox.io/s/screen-recorder-demo-9eopt
參考
- Screen Capture API
- Using the Screen Capture API
- Media Capture and Streams API
- WebRTC API
[getUserMedia()](<https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia>): Capturing media from a camera and/or microphone
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255981.html
標籤:其他
上一篇:anyRTC2020年 年終總結
下一篇:C語言 qsort函式及其實作
