TypeError: Cannot read property 'getUserMedia' of undefined

2,080 阅读1分钟

www.guobao0730.com/typeerror-c…

背景:

在调试网页录音的功能时,出现了如下报错信息

解决办法:

原因: 如果当前文档未安全加载, navigator.mediaDevices将是undefined,并且您不能使用 getUserMedia(). 见详情,以了解本与使用其他安全问题的详细信息getUserMedia()

chrome下获取浏览器录音功能,因为安全性问题,需要在localhost或127.0.0.1或https下才能获取权限

方式一:网页使用https访问

此操作需要依赖web服务提供者实现https的访问方式。

方式二:使用 localhost或127.0.0.1 进行访问

方式三: 修改浏览器安全配置(最直接、简单)

1、首先在chrome浏览器中输入如下指令

 chrome://flags/#unsafely-treat-insecure-origin-as-secure 

2、然后开启 Insecure origins treated as secure

在下方输入栏内输入你访问的地址url,然后将右侧Disabled 改成 Enabled即可

3、然后浏览器会提示重启, 点击Relaunch即可

4、然后就可以调用getUserMedia()了