
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按钮是有好处的。算法

简单用动图演示下效果chrome
以上为全文。
api
这是一款用开源库搭建的工具应用,技术上使用了WebRTC,网页即时通讯(Web Real-Time Communication),是一个支持网页浏览器进行实时语音对话或视频对话的API。浏览器
从一个小细节,咱们能够看出设计对技术的理解程度。微信
等我空了,把编辑器的录课.ai完善,试试录一些课程。
app
可经过扫码,与我深度交流async
或赞扬获取微信号
本文分享自微信公众号 - 无界社区mixlab(mix-lab)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。