getusermedia DevicesNotFoundError 在最新的浏览器中抛出
getusermedia DevicesNotFoundError thrown in latest browsers
我一直在为 WebRtc 使用 getUserMedia() 有一段时间了,但是自从浏览器的最新更新以来,我一直无法使用它。在以前的版本上运行良好。
受影响的浏览器版本
火狐 - 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/
这个问题有解决办法吗?需要帮忙。
谢谢
我找到了解决方案。在较新的版本中,当我们指定约束 { audio: true, video: true }
时,我们将其中任何一个指定为真,即需要存在相应的硬件。否则它会抛出 DevicesNotFoundError
.
这是我使用的代码。我在本地机器上没有网络摄像头,所以将视频指定为 false。
navigator.mediaDevices.getUserMedia({ audio: true, video: false})
.then(function(stream) {
/* use the stream */
})
.catch(function(err) {
/* handle the error */
});
我一直在为 WebRtc 使用 getUserMedia() 有一段时间了,但是自从浏览器的最新更新以来,我一直无法使用它。在以前的版本上运行良好。
受影响的浏览器版本 火狐 - 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/
这个问题有解决办法吗?需要帮忙。 谢谢
我找到了解决方案。在较新的版本中,当我们指定约束 { audio: true, video: true }
时,我们将其中任何一个指定为真,即需要存在相应的硬件。否则它会抛出 DevicesNotFoundError
.
这是我使用的代码。我在本地机器上没有网络摄像头,所以将视频指定为 false。
navigator.mediaDevices.getUserMedia({ audio: true, video: false})
.then(function(stream) {
/* use the stream */
})
.catch(function(err) {
/* handle the error */
});