Firefox,自版本52起,将通过以下方式支持屏幕共享:
navigator.mediaDevices.getUserMedia({ video: { mediaSource: 'screen' }})
.then(stream => { ... });
查看this test page to see it in action。
我想知道是否有办法检测浏览器是否支持{ mediaSource: 'screen' }
?
我想只提供与能够共享的用户共享屏幕的选项。因此,我希望能够对此进行检测。
答案 0 :(得分:4)
检测浏览器是否支持{mediaSource:'screen'}?
的方法
迂腐的答案如下,将告诉您是否支持mediaSource
约束:
console.log(!!navigator.mediaDevices.getSupportedConstraints().mediaSource);
不幸的是,mediaSource
是非标准的,只在Firefox中实现。在撰写本文时,Firefox是唯一一款无需插件即可启用屏幕共享的浏览器。
Chrome使用chromeMediaSource
作为插件提供了不同的非标准API,使用较旧的约束语法,但它(正确地)不会出现在新的getSupportedConstraints
中。
这仍然有点混乱。长期浏览器可能会最终实现getDisplayMedia
。