navigator.mediaDevices.enumerateDevices()返回空标签

时间:2020-02-19 10:17:03

标签: javascript google-chrome webrtc

背景

我要在其上实现此功能的机器包含多个摄像机,我想在代码中选择摄像机。 (所有机器都具有相同的硬件)

问题

在尝试访问视频之前,我试图实现自定义功能,在该视频中,我手动设置了应使用的设备,以防止选择错误的摄像机,但是在使用时

await navigator.mediaDevices.enumerateDevices()

我为可用的摄像机设备得到了空标签。

2 个答案:

答案 0 :(得分:14)

如果未提供访问mediadevice的权限,则

navigator.mediaDevices.enumerateDevices()将返回一个空的标签属性值。尝试在getUserMedia之后使用它。

(async () => {   
  await navigator.mediaDevices.getUserMedia({audio: true, video: true});   
  let devices = await navigator.mediaDevices.enumerateDevices();   
  console.log(devices); 
})();

答案 1 :(得分:-1)

我通过将根ca放在chrome上解决了这个问题。 这意味着您应该让chome浏览器认识到您的Web服务器是可信任的。