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

标签 javascript google-chrome firefox webrtc getusermedia

我已经为 WebRtc 使用 getUserMedia() 一段时间了,但是自从浏览器的最新更新以来,我一直无法使用它。在以前的版本上运行良好。

enter image description here

受影响的浏览器版本 火狐 - 57.0.4, Chrome - 63.0.3239.132

示例代码:

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

},logError);

如果有人在谷歌示例代码中遇到这个错误,还要检查这个 https://webrtc.github.io/samples/src/content/getusermedia/gum/

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

最佳答案

我找到了解决方案。在较新的版本中,当我们指定约束 { 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 */
});

关于javascript - getusermedia DevicesNotFoundError 在最新的浏览器中抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48378750/

相关文章:

javascript - 从选定的 OrgChart 节点获取值 (Google orgchart)

javascript - 如何使用 ajax 响应将 'selected' 设置为具有匹配值的下拉菜单?

google-chrome - puppeteer/ headless Chrome 在阿尔卑斯字体问题

google-chrome - Firefox 中是否有等效于 Chrome 的 DevTools 'workspaces'?

javascript - Web Speech API 在商业应用中的使用

javascript - 在 javascript 中用不同的数字替换数组元素

javascript - 是否有另一种方法可以在不使用 Promise 的情况下从该 SQL 返回值?

javascript - Chrome 开发工具无法展开 Iframe 内容

api - Firefox WebAudio API

排除 Firefox 3.6 的 Firefox 3 的 CSS 选择器