webRtc之指定摄像头设备绿屏问题
摘要:最近发现,在使用navigator.mediaDevices.getUserMedia({ deviceId: ‘xxx’}),指定设备的时候,video播放总是绿屏,发现关闭浏览器硬件加速不会出现,但显然这不是一个最好的方案;
播放后张这样
修复后
上代码
指定采集宽度高度后就不会出现这个绿屏问题
// 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}autoPlayplaysInlinewebkit-playsinline='true'
></video>
// css
.video_element{width: 640px;height: 480px;background-color: #233149;
}