• 由于小编当时接到了一个对接数字人的需求,但是由于时间紧,说有项目已经写好了,只需要直接搬就好,所以小编也就没有做太多的思考(后续小编会分享一个数字人的对接方法),搬完代码发现的这问题。事后发现是由于小编的本地项目登录完成之后刚好用的是ip地址,所以才会有这个报错(而别的项目都是本地localhost启动的,或者是线上的https地址,才导致没有出现这种报错)
  • 文档:

MediaDevices - Web API | MDN

  • 解释:

 navigator.mediaDevices在目前以下三种情况下可以获取到:

  1.  地址为localhost:// 访问时
  2. 地址为https:// 时
  3. 为文件访问file:///
  • 解决方案:

方法一: 采用https方案,由于线上环境一般都是https协议的,所以不用考虑,问题只是在本地调试,所以忽略

方法二: 采取修改chrome浏览器的安全策略

  1. 在chrome浏览器的地址栏中输入: chrome://flags/#unsafely-treat-insecure-origin-as-secure,将该 Disabled 切换成 enable 状态
  2. 在输入框中填写需要开启的域名或地址(带上端口号) ,如果有多个,则以逗号分隔
  3.  重启浏览器后生效

方法三:vue项目可以在vue.config.js中添加proxy配置项:

    devServer: {
		host: '127.0.0.1', //写上要跨域的ip地址
		port: 5050,
		open: false,
        ……
	},

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐