为什么navigator.mediaDevices在本地主机和服务器中的工作方式不同?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么navigator.mediaDevices在本地主机和服务器中的工作方式不同?相关的知识,希望对你有一定的参考价值。

我目前正在从事视频聊天项目。并且使用navigator.mediaDevies。它工作正常,并在本地主机中返回MediaDevices对象,但是当我将项目部署到服务器时,它将返回undefined。我正在使用Google Chrome v77。当然,本地主机和服务器中的浏览器都相同。 navigator.mediaDevices如何工作?我认为它应该在相同的浏览器中返回相同的结果。但是它在本地主机和生产服务器中的工作方式不同。我该怎么做才能使navigator.mediaDevices在服务器中返回MediaDevices对象? (尝试使用Mozilla Firefox,但也无法使用)

答案

在本地主机上,浏览器允许减少安全措施。特别是,不需要HTTPS。

对于任何其他来源,必须使用HTTPS才能使用媒体设备API。如果您检查开发人员控制台,无疑会看到显示此错误。

以上是关于为什么navigator.mediaDevices在本地主机和服务器中的工作方式不同?的主要内容,如果未能解决你的问题,请参考以下文章

navigator.mediaDevices.enumerateDevices() 仅返回 Safari 上的默认设备?

Chrome:navigator.mediaDevices.getUserMedia 不是函数

使用 navigator.mediaDevices.getDisplayMedia 的 JavaScript 屏幕录像不可搜索

navigator.mediaDevices 未定义

navigator.mediaDevices.getUserMedia 不起作用,webkitGetUserMedia 也不起作用

使用相机手电筒不允许更改面对模式 - Navigator.mediaDevices