【问题标题】:Atom Electron: Render Canvas in Another WindowAtom Electron:在另一个窗口中渲染画布
【发布时间】:2016-08-06 04:32:11
【问题描述】:

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

是否可以使用ipcRendererCanvasRenderingContext2D 传递到另一个窗口?还是通过主进程上的全局?

【问题讨论】:

    标签: javascript html canvas angular electron


    【解决方案1】:

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

    如果要传输流,则必须创建一个 localhost 服务器并使用一个套接字库 (socket.io),再加上相应的 npm 包,例如socket.io-stream

    【讨论】:

    • 问题是不能仅使用字符串来渲染视频。我需要传递媒体流或video 元素。
    • 虽然这可行,但它本质上是对在正常浏览器范围内已经可以正常工作的东西的重写。
    • 好吧,恐怕没有其他好的解决方案了。连BrowserWindowProxy也只能发送字符串electron.atom.io/docs/v0.37.5/api/window-open
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 2016-10-08
      • 2021-01-17
      • 2020-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多