当前位置: 首页 > news >正文

企业内部门户网站建设方案调查问卷网站建设方案

企业内部门户网站建设方案,调查问卷网站建设方案,用dw设计网站模板下载地址,移动宽带 怎么建设网站在开发中可能有遇到过屏幕录制的需求,无论是教学、演示还是游戏录制,都需要通过屏幕录制来记录和分享内容。一般在App内H5页基于客户端能力实现的较多,现在浏览器中的 MediaRecorder 也提供了这种能力。MediaRecorder 是一种强大的技术&#…

在开发中可能有遇到过屏幕录制的需求,无论是教学、演示还是游戏录制,都需要通过屏幕录制来记录和分享内容。一般在App内H5页基于客户端能力实现的较多,现在浏览器中的 MediaRecorder 也提供了这种能力。MediaRecorder 是一种强大的技术,可以在浏览器端实现屏幕录制功能。本文将介绍如何使用JS MediaRecorder 实现屏幕录制。

代码实现

要实现屏幕录制,我们需要通过 navigator.mediaDevices.getDisplayMedia() 方法获取屏幕媒体流,这个方法会弹出一个选择窗口,让用户选择要录制的屏幕或窗口。但出于安全原因,发起录制时必须确保用户手势触发捕获,例如点击按钮:

const button = document.createElement("button");
button.innerHTML = "capture";
document.body.append(button);
button.addEventListener("click", async () => {// TODO
});

点击后,获取视频流并录制,获取到媒体流后,我们可以将其传给 MediaRecorder 对象后开始屏幕录制。

const stream = await navigator.mediaDevices.getDisplayMedia();
const recoder = new MediaRecorder(stream);
recoder.start();

当用户停止共享屏幕时停止录制,调用 recoder.stop()即可停止录制。

const [video] = stream.getVideoTracks();
video.addEventListener("ended", () => {recoder.stop();
});

监听recoderdataavailable事件获取录制文件并通过URL.createObjectURL()方法将其转换为可下载的URL,供用户下载录制的视频文件。

recoder.addEventListener("dataavailable", (evt) => {const a = document.createElement("a");a.href = URL.createObjectURL(evt.data);a.download = "capture.webm";a.click();
});

这样一个简单的屏幕记录器就完成了,不到20行代码就实现了整个屏幕录制的核心功能。完整代码如下:

button.addEventListener("click", async () => {const stream = await navigator.mediaDevices.getDisplayMedia();const recoder = new MediaRecorder(stream);recoder.start();const [video] = stream.getVideoTracks();video.addEventListener("ended", () => {recoder.stop();});recoder.addEventListener("dataavailable", (evt) => {const a = document.createElement("a");a.href = URL.createObjectURL(evt.data);a.download = "capture.webm";a.click();});
});

浏览器兼容

目前的浏览器支持情况,对于较低的版本需要升级才能使用。

实现这么强大的功能只需要这么少的代码确实是很不错的感觉,但是这只是一个简单的录制功能,实际开发中要考虑的因素相对会比较多,由于屏幕录制可能消耗较多的资源,因此在长时间录制时,我们应该提示用户录制时间或大小的限制,并提供相应的操作和反馈。

使用 MediaRecorder 我们可以方便地实现屏幕录制功能。这种功能在教学、演示等场景下非常有用,同时也为开发者提供了更多创造性的可能性。有兴趣的可以体验使用看看效果,在实际使用中也要合理使用此功能,确保用户隐私和数据安全。

参考

https://dev.to/ninofiliu/simple-screen-recorder-in-20-lines-of-javascript-4ina


看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)

http://www.yayakq.cn/news/847366/

相关文章:

  • 网站集群建设ppt黄页网站推广公司
  • 网站打开速度很慢电子商务公司最低注册资本
  • 专业网站发展趋势编辑网页的工具有
  • 网站建设 流程浦东网站开发培训
  • 外包公司网站开发苏州网站建设2万起
  • 只做瓶子包装设计的创意网站12306网站做的好还是百度做的好
  • 酒店定房网站开发seo视频
  • 上海城乡建设部网站厦门彩页设计
  • 网站流量统计查询手机什么网站可以设计楼房
  • 电子商务网站建设与管理考试电子商务发展现状与趋势
  • 我们是谁 网站运营信用网站建设意义
  • 大理州建设局门户网站产品介绍网站设计怎么做
  • 甘肃省住房和建设厅网站dedecms 做网站
  • 南京 做网站公司品牌vi设计升级
  • 网站做二级登录页面容易吗屏山县建设局网站
  • 网站城市分站是怎么做的wordpress文章字体颜色
  • 网站建站是 什么福田汽车官网报价大全
  • 云适配 网站做英语阅读的网站
  • 南昌师范学院网站建设的意义和目的门户系统建设
  • 怎么把在EXCEL做的查询系统做到网站上推广普通话的方法
  • 用jsp怎么做的购物网站个人业务网站免费制作
  • 网站开发海报wordpress调用当前分类名
  • 衡水做wap网站价格微信小程序网站开发教程
  • 大连企业公司网站建设陕西建设网站官网
  • 做网站付钱方式txt网站推荐
  • 大华建设项目管理有限公司网站那个网站可以做网页
  • 网络舆情监测报告seo搜索工具栏
  • 成都建设网站费用网络服务器的功能
  • 知晓程序网站怎么做seo营销推广费用
  • 重庆做网站推广的wordpress 慢的上天