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

长春百度搜索排名优化河北百度seo关键词

长春百度搜索排名优化,河北百度seo关键词,网站如何在国外推广,公司网站怎么做分录这里我们用的是webrtc中的MediaDevices.getUserMedia()的浏览器api进行的效果实现,MediaDevices.getUserMedia() 会提示用户给予使用媒体输入的许可,媒体输入会产生一个MediaStream,里面包含了请求的媒体类型的轨道。此流可以包含一个视频轨道…

        这里我们用的是webrtc中的MediaDevices.getUserMedia()的浏览器api进行的效果实现,MediaDevices.getUserMedia() 会提示用户给予使用媒体输入的许可,媒体输入会产生一个MediaStream,里面包含了请求的媒体类型的轨道。此流可以包含一个视频轨道(来自硬件或者虚拟视频源,比如相机、视频采集设备和屏幕共享服务等等)、一个音频轨道(同样来自硬件或虚拟音频源,比如麦克风、A/D 转换器等等),也可能是其他轨道类型。

        它返回一个Promise对象,成功后会resolve回调一个MediaStream对象。若用户拒绝了使用权限,或者需要的媒体源不可用,promisereject回调一个 PermissionDeniedError 或者 NotFoundError 。

代码:

HTML:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>webrtc实现拍照和滤镜</title><link rel="stylesheet" href="./index.css">
</head>
<body><div id="container" style="width: fit-content;height: fit-content;position: relative;"><video id="video" src=""></video><div id="filter" class="filter"></div></div><select id="select"><option value="">无滤镜</option><option value="style1">滤镜1</option><option value="style2">滤镜2</option><option value="style3">滤镜3</option></select><h3>截图展示</h3><button id="snap">截图</button>
</body>
<script src="./index.js"></script>
</html>

 js:


//获取视频流const constraints = {video: {width: { min: 300, ideal: 600, max: 900 },height: { min: 300, ideal: 600, max: 900 },frameRate: { ideal: 60, max: 120 }, //帧率}
}navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {const video = document.querySelector('video')video.srcObject = stream;video.onloadedmetadata = function (e) {video.play();}}).catch(function (err) {console.log("启动失败", err)})//设置视频流滤镜
const video = document.querySelector('.filter')
const selectVal = document.querySelector('#select')
selectVal.addEventListener('change', () => {video.className = 'filter' // 清空之前的类名if (selectVal.value) {video.classList.add(selectVal.value) // 添加新的类名}
})const snapButton = document.querySelector('#snap');
snapButton.addEventListener('click', () => {const canvas = document.createElement('canvas')const video = document.getElementById('video');const filterDiv = document.getElementById('filter');console.log(video,filterDiv)const ctx = canvas.getContext('2d');// 设置 Canvas 的宽高与容器相同const container = document.getElementById('container');canvas.width = container.offsetWidth;canvas.height = container.offsetHeight;// 绘制视频的当前帧ctx.drawImage(video, 0, 0, canvas.width, canvas.height);// 绘制滤镜层ctx.fillStyle = window.getComputedStyle(filterDiv).backgroundColor;ctx.fillRect(0, 0, canvas.width, canvas.height);// 导出图像并显示const imgData = canvas.toDataURL('image/png');const img = document.createElement('img');img.src = imgData;document.body.appendChild(img);
})

这里注意: 报错为OverconstrainedError时,看一下自己分辨率是否过大

css:

:root {--back-style: unset;
}.filter {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: var(--back-style);z-index: 2;pointer-events: none;
}.style1 {--back-style: rgba(0, 0, 0, 0.2);
}.style2 {--back-style: rgba(255, 255, 255, 0.2);
}.style3 {--back-style: rgba(0, 0, 255, 0.2);
}
http://www.dtcms.com/wzjs/125890.html

相关文章:

  • 兰州网站建设王道下拉強最新经济新闻
  • 网站精品案例百度免费下载安装
  • 海外网站免费建设百度指数查询手机版app
  • 丹东网站建设公司google排名
  • 运营推广计划怎么写广告优化师工资一般多少
  • 重庆市建设工程造价管理总网站想做seo哪里有培训的
  • 网站维护推广怎么做如何宣传推广
  • 网站建设网站的好处seo的外链平台有哪些
  • 南宁网站建设7make网站推广优化怎么做最好
  • 注册公司网站开发建设营业项目新型网络营销方式
  • 笑话网站源码带wap西安网络优化培训机构公司
  • wordpress和关键词排名优化怎么样
  • dede学校网站模板下载网站推广方式有哪些
  • 大连网站建设设计推广教程
  • 墙纸 html 网站模板seo怎么优化方案
  • 网站开发公司需要那些硬件设备个人免费自助建站网站
  • 外贸网站开发多少钱app推广好做吗
  • 广东企业网站seo报价快速收录网
  • 实惠的网站建设网络运营培训班
  • 企业网站开发研究现状宁波如何做seo排名优化
  • 做网站网络公司新媒体营销六种方式
  • 学校网站建设项目可行性分析报告seo在线外链
  • 广东省示范校建设专题网站seo模拟点击工具
  • 春哥 响应式网站建设淘宝seo是什么意思啊
  • 沈阳市人大网站建设时间网络营销外包推广价格
  • 泗洪网站建设域名注册管理机构
  • asp.net 网站管理工具网站优化的主要内容
  • 优化企业门户网站东营网站建设费用
  • 怎么将网站做成小程序广东百度推广的代理商
  • 句容网站建设跨境电商平台哪个最好最可靠