我想知道为什么当我使用IP:port时,getUserMedia是未定义的,在localhost:port中,它运行得很好
有什么想法吗?
我的测试是在js中纯运行watchhttp服务器到本地服务器,但如果我使用其他http服务器作为示例lite服务器,我也会遇到同样的问题
问题在这里
我使用Chrome和Firefox
const stream=等待navigator.mediaDevices.getUserMedia({audio:false,video:true}(;
本地主机正常ip找不到navigator.me***
编辑
/*****************************************************************************/
这是github上的代码https://github.com/VictorBarbosa/stackoverflowhelp
只需运行npm安装和npm运行
在本地主机上尝试后,在使用ip 后
参见MDN:
getUserMedia((是一个强大的功能,只能在安全上下文中使用;在不安全的上下文中,navigator.mediaDevices未定义,因此无法访问getUserMedia((。简而言之,安全上下文是使用HTTPS或file:///URL方案加载的页面,或者是从localhost加载的页面。
因此,当您使用localhost
时,它是有效的,因为它被认为是一个安全的上下文,但除非您也使用HTTPS,否则某些任意IP地址是无效的。