webRtc之本地预览摄像头设备绿屏问题

摘要:最近发现,在使用navigator.mediaDevices.getUserMedia({ deviceId: 'xxx'}),指定设备的时候,video播放总是绿屏,发现关闭浏览器硬件加速不会出现,但显然这不是一个最好的方案;
备注: 部分win电脑会出现, 不一定能解决所有问题;因为有的用户电脑是显卡不兼容导致的; 硬件兼容性问题可参考以下两篇文章 浏览器绿屏全局关闭硬件加速 浏览器绿屏仅关闭关video硬件加速

播放后张这样
修复后
上代码

指定采集宽度高度后就不会出现这个绿屏问题

typescript 复制代码
// js
navigator.mediaDevices.getUserMedia({
	video: {
		deviceId: devId,
		// 指定采集尺寸
		width: { ideal: 1280 },
		height: { ideal: 720 },
	}
}).then((stream) => {
     const elm: HTMLVideoElement | any = document.getElementById('devDetectionVideoRef');
     if (elm) {
         elm.srcObject = stream;
     }
}).catch((error) => {
})
// html
<video id="devDetectionVideoRef" className={style.video_element}
	autoPlay
	playsInline
	webkit-playsinline='true'
></video>
// <img src="css" alt="" width="70%" />
.video_element{
	width: 640px;
	height: 480px;
	background-color: #233149;
}
相关推荐
Mr.Jessy4 分钟前
JavaScript学习第六天:函数
开发语言·前端·javascript·学习·html·1024程序员节
code_YuJun30 分钟前
管理系统——应用初始化 Loading 动画
前端
oak隔壁找我31 分钟前
JavaScript 模块化演进历程:问题与解决方案。
前端·javascript·架构
Elieal44 分钟前
AJAX 知识
前端·ajax·okhttp
sulikey1 小时前
Qt 入门简洁笔记:从框架概念到开发环境搭建
开发语言·前端·c++·qt·前端框架·visual studio·qt框架
烛阴2 小时前
循环背后的魔法:Lua 迭代器深度解析
前端·lua
元拓数智2 小时前
现代前端状态管理深度剖析:从单一数据源到分布式状态
前端·1024程序员节
mapbar_front2 小时前
Electron 应用自动更新方案:electron-updater 完整指南
前端·javascript·electron
天一生水water3 小时前
three.js加载三维GLB文件,查看三维模型
前端·1024程序员节
无风听海3 小时前
HarmonyOS之启动应用内的UIAbility组件
前端·华为·harmonyos