关于navigator.mediaDevices为undefined,获取不到媒体权限的问题
·

- 由于小编当时接到了一个对接数字人的需求,但是由于时间紧,说有项目已经写好了,只需要直接搬就好,所以小编也就没有做太多的思考(后续小编会分享一个数字人的对接方法),搬完代码发现的这问题。事后发现是由于小编的本地项目登录完成之后刚好用的是ip地址,所以才会有这个报错(而别的项目都是本地localhost启动的,或者是线上的https地址,才导致没有出现这种报错)
- 文档:
- 解释:
navigator.mediaDevices在目前以下三种情况下可以获取到:
- 地址为localhost:// 访问时
- 地址为https:// 时
- 为文件访问file:///
- 解决方案:
方法一: 采用https方案,由于线上环境一般都是https协议的,所以不用考虑,问题只是在本地调试,所以忽略
方法二: 采取修改chrome浏览器的安全策略
- 在chrome浏览器的地址栏中输入: chrome://flags/#unsafely-treat-insecure-origin-as-secure,将该 Disabled 切换成 enable 状态
- 在输入框中填写需要开启的域名或地址(带上端口号) ,如果有多个,则以逗号分隔
- 重启浏览器后生效
方法三:vue项目可以在vue.config.js中添加proxy配置项:
devServer: {
host: '127.0.0.1', //写上要跨域的ip地址
port: 5050,
open: false,
……
},
更多推荐


所有评论(0)