从网页上的其他设备访问相机
Posted
技术标签:
【中文标题】从网页上的其他设备访问相机【英文标题】:Accesing camera from other devices on webpage 【发布时间】:2020-04-23 11:29:20 【问题描述】:我将简要描述我的问题。我创建了一个访问网络摄像头的页面以拍摄照片,然后将其上传到我的服务器。当我访问本地主机上的页面时,它运行良好,当我尝试从其他设备访问或使用 IP 访问时会出现问题。例如:http://localost/Project/Page 运行良好,但 http://192.168.0.5/Project/Page 不起作用。
这是我用来访问媒体的代码。 else语句中出现错误并抛出alert
navigator.getUserMedia ||
(navigator.getUserMedia = navigator.mozGetUserMedia ||
navigator.webkitGetUserMedia || navigator.msGetUserMedia);
if (navigator.getUserMedia)
navigator.getUserMedia( video: true, audio: false , onSuccess, onError);
else
alert('your browser doesn't spport this function');
我不知道代码是否不起作用,或者是否有安全策略导致我的页面崩溃。
问候
【问题讨论】:
“不工作”是什么意思?这在很大程度上取决于浏览器的安全设置。但是,正如您在此处看到的:developer.mozilla.org/en-US/docs/Web/API/MediaDevices/… 该方法返回一个承诺。您应该正确捕获异常并检查其内容,因为它可以抛出几种... 感谢您的回答。我已经添加了 try catch 部分,现在它抛出“navigator.getUserMedia is not a function” 在这一行之前放置一个断点:navigator.getUserMedia || (navigator.getUserMedia = navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia);
并检查。
但是:navigator.getUserMedia
已弃用!切换到兼容的navigator.mediaDevices.getUserMedia
。
【参考方案1】:
找到解决方案。我不得不在浏览器中添加一个“安全例外”,并且它起作用了。当您没有 SSL 证书时,可能不是最佳做法,但更便宜。
【讨论】:
以上是关于从网页上的其他设备访问相机的主要内容,如果未能解决你的问题,请参考以下文章