getusermedia在最新浏览器中抛出的DevicesNotFoundError

时间:2018-01-22 09:54:39

标签: javascript google-chrome firefox webrtc getusermedia

我一直在为WebRtc使用getUserMedia()一段时间,但自从最新的浏览器更新以来我一直无法使用它。以前的版本工作正常。

enter image description here

受影响的浏览器'版本 Firefox - 57.0.4, Chrome - 63.0.3239.132

示例代码:

navigator.getUserMedia({ "audio": true, "video": false }, function (stream) {
  console.log(stream);
  localStream = stream;

},logError);

如果有人在Google示例代码中收到此错误,请检查此项 https://webrtc.github.io/samples/src/content/getusermedia/gum/

这个问题有解决方法吗?需要帮忙。 感谢

1 个答案:

答案 0 :(得分:6)

我找到了解决方案。在较新的版本中,当我们指定约束{ audio: true, video: true }时,我们将其中任何一个指定为true,以确保需要存在相应的硬件。否则会抛出DevicesNotFoundError

这是我使用的代码。我在本地计算机上没有网络摄像头,因此将视频指定为false。

navigator.mediaDevices.getUserMedia({ audio: true, video: false})
.then(function(stream) {
   /* use the stream */ 
})
.catch(function(err) {
   /* handle the error */
});