Atom Electron:在另一个 Window 中渲染 Canvas

Atom Electron: Render Canvas in Another Window

我有一个包含两个 BrowserWindows 的 Electron 应用程序。第一个管理渲染到 canvas 上的多个媒体流。当 运行 浏览器中的应用程序时,我可以使用 window.open() 提供的文档参考在弹出窗口中访问 canvas。在 Electron 中可以实现这样的功能吗?

是否可以使用 ipcRendererCanvasRenderingContext2D 传递给另一个 window?或者通过主进程上的全局?

ipcRendereripcMain 不支持对象或函数等复杂事物的传输。您需要将您的指令从第一个 BrowserWindow 发送到您的主进程,然后主进程应该向您的第二个 window 发送一条指令(如字符串)来处理它。

如果你想传输流,你将不得不创建一个本地主机服务器并使用套接字库(socket.io), coupled with the corresponding npm package, for example socket.io-stream

也许 WebRTC 可以为您工作,例如:http://www.html5rocks.com/en/tutorials/webrtc/basics/