webtrc getDisplayMedia undefined 问题

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,多个以逗号分隔。

重启后生效。

欢迎关注公众号
webtrc getDisplayMedia undefined 问题

上一篇:我的第37个代码


下一篇:我的第36个代码