摘要:最近发现,在使用navigator.mediaDevices.getUserMedia({ deviceId: 'xxx'}),指定设备的时候,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>
// css
.video_element{
width: 640px;
height: 480px;
background-color: #233149;
}