1

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

4

1 回答 1

0

有一个新的标准 API 可用:getDisplayMedia

不幸的是,它还没有在所有浏览器中实现,但是在 Firefox 中使用adapter.js可以使用它,如下所示

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

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

它在 Firefox 中填充了一个较旧的非标准 API 。查看我的博客了解如何配置 Chrome。

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

假设您使用的是 Windows,带有“Aero”窗口的黑屏是一个已知错误

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

于 2018-11-17T15:57:56.220 回答