如何在navigator.getUserMedia的帮助下利用Firefox中的屏幕共享?

如何在navigator.getUserMedia的帮助下利用Firefox中的屏幕共享?,firefox,firefox-addon,firefox-developer-tools,Firefox,Firefox Addon,Firefox Developer Tools,我想创建一个屏幕共享扩展。我尝试过Muas Khan在GitHub上提供的某些示例,但如果您是WebRTC的新手,则很难在代码中实现它们。我可以使用navigator.getUserMedia实现屏幕共享吗?请记住,我正在使用Firefox,我不想使用我的网络摄像头,因为我只是在共享我的屏幕。我可以写下面的代码吗 window.navigator=window.navigator | |{}; navigator.getUserMedia=navigator.getUserMedia|| nav

我想创建一个屏幕共享扩展。我尝试过Muas Khan在GitHub上提供的某些示例,但如果您是WebRTC的新手,则很难在代码中实现它们。我可以使用
navigator.getUserMedia
实现屏幕共享吗?请记住,我正在使用Firefox,我不想使用我的网络摄像头,因为我只是在共享我的屏幕。我可以写下面的代码吗

window.navigator=window.navigator | |{};
navigator.getUserMedia=navigator.getUserMedia||
navigator.webkitGetUserMedia||
navigator.mozGetUserMedia||
无效的
如果(navigator.getUserMedia===null){
//document.getElementById('gum-unsupported').classList.remove('hidden');
document.getElementById('videorecorderplay-button-recorder').setAttribute('disabled','disabled');
document.getElementById('videorecorderstop-button-recorder').setAttribute('disabled','disabled');
}否则{

//Opera屏幕共享约束在chrome和firefox中有所不同,在firefox中是:

navigator.getUserMedia({ video: {
   mediaSource: "window"       // options are 'screen' ‘window‘ or ‘application‘
}}).then(stream => ...)
还要确保在
about:config
中正确设置了以下标志:

  • media.getusermedia.screensharing.allowed_domains
    列表包括应用程序的域
  • media.getusermedia.screensharing.enabled
    设置为true

chromemediasource
在Firefox中不起作用。转到,按
Screen
并按照屏幕上的说明在about:config中启用必要的prefs并使其工作。然后查看源代码并创建自己的。不要忘记将您的域列入白名单,因为屏幕共享存在安全风险。