![](http://static.javashuo.com/static/loading.gif)
navigator.mediaDevices.getDisplayMedia
async _startRecord() { var displayMediaOptions = { video: true, // audio: true, not support cursor: 'always' } let captureStream = null; try { captureStream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions); } catch (err) { console.error("Error: " + err); } return captureStream; }
chrome爲咱們提供了3個選項,錄製整個屏幕、錄製某個應用、錄製chrome的某個標籤頁。javascript
嗯,就幾行代碼,爲編輯器新增了一個錄屏功能。
css
注意它出現的位置,靠近屏幕的下方,雖然網頁上提供了一個STOP按鈕,可是與系統的按鈕位置稍微重疊了,可用性就不好。
java
設計師忽視了getDisplayMedia瀏覽器默認懸浮窗的位置。除了位置,getDisplayMedia還能夠隱藏,因此在網頁上留一個STOP按鈕是有好處的。算法
![](http://static.javashuo.com/static/loading.gif)
簡單用動圖演示下效果chrome
以上爲全文。
api
這是一款用開源庫搭建的工具應用,技術上使用了WebRTC,網頁即時通訊(Web Real-Time Communication),是一個支持網頁瀏覽器進行實時語音對話或視頻對話的API。瀏覽器
從一個小細節,咱們能夠看出設計對技術的理解程度。微信
等我空了,把編輯器的錄課.ai完善,試試錄一些課程。
app
可經過掃碼,與我深度交流async
或讚揚獲取微信號
本文分享自微信公衆號 - 無界社區mixlab(mix-lab)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。