1、背景
在调试阶段,webrtc 录屏测试可用,发布完以后报错
getDisplayMedia 为null
2、原因
作为可能涉及重大隐私问题的API,getUserMedia()规范规定了浏览器有义务满足的各种隐私和安全要求。
getUserMedia()是一个强大的功能,只能在安全的环境中使用; 在不安全的情境中,navigator.mediaDevices 是undefined,阻止访问getUserMedia()。
简而言之,安全上下文是使用HTTPS或 file:///URL 方案加载的页面,或者是从中加载的页面localhost。
3、解决办法
1,使用https协议
2,通过相应的参数启动 Chrome
传递相应参数来启动 Chrome,以 http://example.com 为例,
鼠标右击浏览器快捷方式 => 选择属性 => 修改启动参数的值,在最后加入:
–unsafely-treat-insecure-origin-as-secure=“http://example.com”
3、开启相应 flag
通过传递相应参数来启动 Chrome Insecure origins treated as secure flag 并填入相应白名单。
打开 chrome://flags/#unsafely-treat-insecure-origin-as-secure
将该 flag 切换成 enable 状态
输入框中填写需要开启的域名,譬如 http://example.com,多个以逗号分隔。
重启后生效。
欢迎关注公众号