HTML <video>网络摄像头访问无法在Chrome或Safari中使用

时间:2016-06-28 22:17:43

标签: javascript html google-chrome safari webcam

我试图在网站上显示我的Macbook相机。它适用于Firefox,但不适用于Safari或Chrome。 http://idolmemory.com/camera_test.html

注意:我有另一个显示相机的网站,它在Chrome中运行良好。 https://www.ibiz.cards/

1)是否有东西阻挡了第一个域的摄像头? 2)为什么网络摄像头无法在Safari上运行?

以下是我使用的代码:

<video autoplay="true" id="thevideo"></video>

<script>
var video = document.querySelector("#thevideo");

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;

if (navigator.getUserMedia) {       
    navigator.getUserMedia({video: true}, handleVideo, videoError);
}

function handleVideo(stream) {
    video.src = window.URL.createObjectURL(stream);
}

function videoError(e) {
    alert("error loading camera");
}
</script>

修改:因此Chrome无法正常工作,因为要显示网络摄像头,该网站必须具有SSL。但是我仍然想要关于Safari的任何答案。

1 个答案:

答案 0 :(得分:2)

根据以下API警告,

Navigator.getUserMedia已被弃用:

  

此功能已从Web标准中删除。一些   浏览器可能仍然支持它,它正在被删除。   不要在旧项目或新项目中使用它。使用它的页面或Web应用程序可能   随时休息。

Browser Support

来源: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia

如上所示,Safari根本不支持此功能,IE也不支持。您应该使用较新的MediaDevices.getUserMedia。但是,他们也不支持这一点。