我无法将此代码用于Firefox以外的浏览器。该代码应该访问网络摄像头。我找不到问题。它不适用于chrome,Internet Explorer,Safari。它只适用于Firefox。有人有什么答案吗?我该如何更正此代码?
以下是代码:
<html>
<head>
<script>
function loading()
{
var video = document.querySelector('#forVid');
navigator.getUserMedia = navigator.getUserMedia ||navigator.webkitGetUserMedia || navigator.mozGetUserMedia ||navigator.msGetUserMedia || navigator.oGetUserMedia;
if (navigator.getUserMedia)
{
var thevid = {video: true, audio: false};
navigator.getUserMedia(thevid, handleVideo, forError)
}
function handleVideo(localmediastream)
{
video.src = window.URL.createObjectURL(localmediastream);
}
function forError(e)
{
// nothing
}
}
</script>
</head>
<body onload = "loading()">
<video id = "forVid" style="position:absolute; top:0; left:50;"autoplay="true" height="600" width="600">
</body>
</html>
答案 0 :(得分:1)
因为此API对浏览器的支持非常少。 以下链接列出了此API的所有支持和不支持的浏览器。
答案 1 :(得分:1)
顺便说一句
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia说:
注意:这是用于向后兼容的传统API。有关现代应用程序,请参阅navigator.mediaDevices.getUserMedia。
因此,您最好在代码中使用navigator.mediaDevices.getUserMedia
(也)。