【发布时间】:2017-03-03 00:27:19
【问题描述】:
当我尝试执行以下代码并选择笔记本电脑的相机时,我在 Firefox 51 中收到此错误:
navigator.getMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mediaDevices.getUserMedia ||
navigator.msGetUserMedia);
navigator.getMedia({
video: true,
audio: false
},
function(stream) {
if (navigator.mozGetUserMedia) {
video.mozSrcObject = stream;
} else {
var vendorURL = window.URL || window.webkitURL;
video.src = vendorURL.createObjectURL(stream);
}
video.play();
},
function(err) {
console.log("An error occured! " + err);
}
);
错误:
NotReadableError: Failed to allocate videosource
谁能详细说明这意味着什么?我的网络摄像头坏了吗?我昨天从脚本中使用它没有问题。它没有分配给其他应用程序。
【问题讨论】:
-
我得到
TypeError: 'getUserMedia' called on an object that does not implement interface MediaDevices.,因为your polyfill is borked。另外,您的browser-conditional code is wrong 和createObjectURLis deprecated。考虑using adapter.js instead,或者享受现在大多数浏览器已经原生支持navigator.mediaDevices.getUserMedia。 -
另外,如果您可以让我知道是哪个示例代码或文章启发了您的代码,我可以将其搜索并烧掉,我将不胜感激。 ;)
-
Firefox 警告我有关 polyfill 并建议
navigator.mediaDevices.getUserMedia,但实际上并没有工作并引发错误。我不知道我从哪里复制的。如果我要判断它,我看到的主要问题是它使用<video>标签来捕获帧,而不是一些编程API。我会检查您给我的链接,以使示例更新,但我认为我们可以同意这不是问题的原因。感谢您的反馈和警告。 -
同意,但是如果没有看到真实的代码和了解真实情况,很难知道出了什么问题。这个wfm fwiw(使用视频标签,就像你的例子一样)。
-
如果您在关闭所有浏览器选项卡、其他浏览器和应用程序时仍然看到“NotReadableError: Failed to allocate videosource”,请尝试重新启动计算机。
标签: javascript html getusermedia