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

设计师网站pintset做网站的等级保护要多少钱

设计师网站pintset,做网站的等级保护要多少钱,网站上面的彩票快3怎么做,版式设计排版前言#xff1a;先了解下#xff1a;navigator.mediaDevices#xff0c;mediaDevices 是 Navigator 只读属性#xff0c;返回一个 MediaDevices 对象#xff0c;该对象可提供对相机和麦克风等媒体输入设备的连接访问#xff0c;也包括屏幕共享。 const media navigator…前言先了解下navigator.mediaDevicesmediaDevices 是 Navigator 只读属性返回一个 MediaDevices 对象该对象可提供对相机和麦克风等媒体输入设备的连接访问也包括屏幕共享。 const media navigator.mediaDevices; 通过原型链可以查找到一些方法如下图所示通过打印如下 其中 getDisplayMedia 方法来获取用户的屏幕分享或屏幕捕获流通常用于制作屏幕录像或视频会议等应用。 navigator.mediaDevices.getDisplayMedia({video: true, }); 在这段代码中请求获取包含视频流的媒体许可并将其存储在名为 stream 的变量中以便后续使用。这个流可以用于在网页上显示屏幕共享或进行其他媒体处理操作。 又因为该方法是异步的我们要编写如下代码 bodybutton共享屏幕/buttonscriptconst button document.querySelector(button);button.addEventListener(click, async () {const stream await navigator.mediaDevices.getDisplayMedia({video: true,});});/script /body 通过点击 button 按钮后会如下图所示效果 这个时候 stream 流我们是拿到了。  MediaRecorder MediaRecorder 是一个 Web API用于在浏览器中进行媒体录制主要用于录制音频和视频。它允许你从不同的来源例如麦克风、摄像头、屏幕共享或其他媒体元素捕获音频和视频数据并将其保存为文件或进行实时流媒体传输。通过调用 MediaRecorder.isTypeSupported() 方法会判断其 MIME 格式能否被客户端录制。它支持的类型主要有以下几种方式 const types [video/webm,audio/webm,video/webm;codecsvp8,video/webm;codecsdaala,video/webm;codecsh264,audio/webm;codecsopus,video/mpeg, ]; 通过这种方式来查看当前浏览器是否支持该类型,如下代码所示: const mime MediaRecorder.isTypeSupported(video/webm;codecsh264)? video/webm;codecsh264: video/webm; 结果如下图所示: const mediaRecorder new MediaRecorder(stream, { mimeType: mime }); 在这段代码里面,执行 new 关键字实例化 MediaRecorder 对象。该对象的结构如下图所示 我们可以通过监听它的事件来进行不同的操作,如下代码所示 const chunks []; mediaRecorder.addEventListener(dataavailable, function (e) {chunks.push(e.data); });mediaRecorder.addEventListener(stop, () {const blob new Blob(chunks, { type: chunks[0].type });const url URL.createObjectURL(blob);const a document.createElement(a);a.href url;a.download video.webm;a.click(); }); 接下来我们来看看段代码的详细步骤: dataavailable 事件的监听器。当 MediaRecorder 有可用的音频/视频数据块时它会触发此事件。在这里每当数据可用时将数据块e.data添加到 chunks 数组中。这是为了在录制完成后将这些数据块合并成一个完整的媒体文件。 stop 事件的监听器。当录制停止时MediaRecorder 会触发此事件。 const blob new Blob(chunks, { type: chunks[0].type });使用 Blob 构造函数将 chunks 数组中的数据块合并成一个二进制对象Blob 对象。chunks[0].type 用于指定 Blob 的媒体类型通常是 WebM。 const url URL.createObjectURL(blob);使用 URL.createObjectURL 方法将 Blob 对象转换为一个临时 URL。这个 URL 可以用于创建下载链接。通过这个 url 传递给新创建的 a 元素用于下载功能。 a.click() 通过模拟点击超链接来触发下载操作。用户将看到一个下载对话框允许他们保存录制的媒体文件 这样就实现了一个屏幕录制功能了并且通过该方法实现了一个音视频下载的功能。 完整代码 该功能的完整代码如下所示 !DOCTYPE html html langenheadmeta charsetUTF-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titleDocument/title/headbodybutton共享屏幕/buttonscriptconst button document.querySelector(button);button.addEventListener(click, async () {const stream await navigator.mediaDevices.getDisplayMedia({video: true,});const mime MediaRecorder.isTypeSupported(video/webm;codecsh264)? video/webm;codecsh264: video/webm;const mediaRecorder new MediaRecorder(stream, { mimeType: mime });const chunks [];mediaRecorder.addEventListener(dataavailable, function (e) {chunks.push(e.data);});mediaRecorder.addEventListener(stop, () {const blob new Blob(chunks, { type: chunks[0].type });const url URL.createObjectURL(blob);const a document.createElement(a);a.href url;a.download video.webm;a.click();});mediaRecorder.start();});/script/body /html 完整效果如下图所示: 你也可以直接在其他任何一个页面将 js 代码修改一下,然后直接复制粘贴到控制台上并点击页面如下所示 diff -const button document.querySelector(button); -button.addEventListener(click, async () {... })const body document.body; body.addEventListener(click, async () {.... }) 紧接着将代码复制粘贴到浏览器控制台上面并点击页面的空白处 const body document.body;body.addEventListener(click, async () {const stream await navigator.mediaDevices.getDisplayMedia({video: true,});const mime MediaRecorder.isTypeSupported(video/webm;codecsh264)? video/webm;codecsh264: video/webm;const mediaRecorder new MediaRecorder(stream, { mimeType: mime });const chunks [];mediaRecorder.addEventListener(dataavailable, function (e) {chunks.push(e.data);});mediaRecorder.addEventListener(stop, () {const blob new Blob(chunks, { type: chunks[0].type });const url URL.createObjectURL(blob);const a document.createElement(a);a.href url;a.download video.mp4;a.click();});mediaRecorder.start();}); 通过这种方式就实现了一种屏幕录制或者屏幕分享的功能了。
http://www.zqtcl.cn/news/948487/

相关文章:

  • 企业网站怎么建设公司深圳企业招聘信息最新招聘信息
  • 天津网站经营性备案下载网站上的表格 怎么做
  • 胶州企业网站设计十大互联网营销公司
  • 视频解析wordpresswordpress 优化版本
  • 柳州网站建设哪家便宜广东省建设厅三库一平台
  • 云南城市建设官方网站wordpress和织梦哪个好
  • 国外企业招聘网站专门做外贸的网站有哪些
  • 陕西交通建设集团网站营销公司是什么意思
  • 网站建设自建与租用区别杭州建设局网站官网
  • 广告公司企业介绍seo研究中心怎么样
  • 苏州网站建设熊掌岳阳做网站哪家好
  • 深圳网站制作公司报价单宝塔做两个网站6
  • 百度站长工具怎么查排名贵港网站制作
  • 运城个人网站建设学校网站建设目的
  • 住房城乡建设部门门户网站购物网站排名大全
  • 手机网站平台江门网站建设模板
  • 做本地网站需要什么资质百度多长时间收录网站
  • 网站建设公司使用图片侵权使用者有无责任夸克免费空间
  • 网站建设制作鸿运通做网站能用python吗
  • 站长源码之家Wordpress 新建标签
  • 太原网站建设详细策划如何建设网站简答题
  • 乡村生态旅游网站建设方案如何做网站的导航栏
  • wordpress百度百科网站开发 seo
  • 网站主机名wordpress主题修改底部版权
  • 网站官网怎么做龙岩iot开发福建小程序建设
  • 哪个学校设有网站开发专业北京有哪些网站公司
  • 做网站需要的带宽上行还是下行湖南竞网科技有限公司
  • 帝国cms企业门户网站仿站视频教程 网盘互联网金融p2p网站建设
  • 个人网站备案涉及支付宝做二手的网站都有哪些
  • 如何给网站做宣传导航栏网页怎么制作