navigator.getUserMedia()、MediaDevices.getUserMedia()类似这种方法,对环境输出是有要求的:
-
localhost
域 - 开启了 HTTPS 的域
- 使用
file:///
协议打开的本地文件
如果我们在http环境中使用上述方法,会报undefined错误,但是在一些测试环境中又经常是http环境,所以如果想要 HTTP
环境下也能使用和调试 MediaDevices.getUserMedia()
,可通过开启 Chrome 的相应参数:
1.在chrome图标的目标位置添加
--unsafely-treat-insecure-origin-as-secure="域名"
2.开启相应flag
- 打开
chrome://flags/#unsafely-treat-insecure-origin-as-secure
- 将该 flag 切换成
enable
状态 - 输入框中填写需要开启的域名,譬如
http://example.com"
,多个以逗号分隔。
参考文章:https://blog.csdn.net/qq_35642047/article/details/105807465