Chrome 无法访问视频输入

Chrome 无法访问视频输入

我遇到了一个奇怪的问题,Chrome 浏览器无法访问任何 WebRTC 应用中的视频输入。例如,meet.jit.si 警告说

无法访问您的相机
由于未知原因无法使用相机

并且设置中的源选择Permission not granted不是相机下拉菜单(但实际上我确实允许使用相机和麦克风)。

我应该如何调试该问题以了解发生了什么并修复它?

我已经发现了什么:

  • 该问题在多个 Chrome 版本(74 和 80)上仍然存在
  • Chrome 80 便携式安装中仍然存在此问题
  • Chrome 的姊妹浏览器(如 Vivaldi)也存在此问题
  • 相同的 WebRTC 应用程序在其他计算机上的 Chrome 上运行良好。
  • Firefox 上的视频输入功能良好
  • 音频输入和输出无任何问题
  • 如果我进入navigator.mediaDevices.getUserMedia({audio: true, video: true}).then(console.log)控制台,它会提示访问摄像头和麦克风,但永远不会解决承诺。
  • 如果我进入navigator.mediaDevices.enumerateDevices().then(console.log)控制台,它会返回所有设备的列表。label如果我之前允许该域上的设备访问,则设备名称(字段)可见,否则为空。

原因可能在于计算机的设置(该机器具有多个虚拟和物理视频输入)。我们需要解决这个问题,因为我们需要视频输入和通过 Chrome 的 WebRTC 同时工作。

相关内容