使用RTCMultiConnection在Firefox中共享屏幕

时间:2018-11-17 11:55:32

标签: javascript google-chrome firefox webrtc rtcmulticonnection

我在一个正在处理的项目中使用RTCMultiConnection库,但遇到了问题。 当我尝试在Firefox(63.0.3版)中共享屏幕时,它适用于某些应用程序窗口,同时某些应用程序窗口仅显示黑屏而不是实际内容(例如Chrome和Teams)。另外,是否可以在Firefox中共享整个桌面而不是单个应用程序窗口?

1 个答案:

答案 0 :(得分:0)

为此提供了一个新的标准API:getDisplayMedia

不幸的是,它尚未在所有浏览器中实现,但可以在Firefox adapter.js中使用like this来使用:

adapter.browserShim.shimGetDisplayMedia(window, "screen"); // or "window"

(async () => {
  try {
    video.srcObject = await navigator.mediaDevices.getDisplayMedia({video: true});
  } catch(e) {
    console.log(e);
  }
})();

它在Firefox中填充older non-standard API。请查看my blog,了解如何配置Chrome。

不幸的是,Firefox使JS应用程序在要求"screen""window" atm之间进行选择,这是非标准的,因此适配器polyfill只能要求其中之一。

假设您使用的是Windows,则带有“ Aero”窗口的黑屏是known bug

正如我们所说的,浏览器正在以本地方式实现此API。