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