【问题标题】:Playing Audio in Electron from main process从主进程在电子中播放音频
【发布时间】:2020-06-21 09:10:04
【问题描述】:

我正在开发一个电子应用程序,它需要在从 webSocket 连接传入消息的情况下播放声音。 websocket 在主进程上处理,因为用户在使用期间切换页面。我无法从渲染器播放声音,因为我不知道用户目前在哪个页面中,webSocket 消息进来(在最坏的情况下,他在导航时位于页面之间)。

是否有机会在主进程上播放音频?音频文件本地存储在项目文件结构中。

亲切的问候,

BoxSon

【问题讨论】:

    标签: node.js audio process electron main


    【解决方案1】:

    我发现了这个简单的 npm 包,可以在没有渲染器的情况下播放声音,并且 您可以轻松地将其包含到您的电子项目中。

    首先,您需要通过npm install sound-play 安装或使用npm install sound-play --save 直接保存到您的项目中和

    由此初始化

    const sound = require("sound-play");
    

    播放文件只需一行代码

    sound.play("file.mp3");
    

    您可以通过this link官网了解更多信息

    【讨论】:

      【解决方案2】:

      我自己找到了解决方法:

      • 创建并打开一个隐藏窗口。
      • 在此窗口中加载 HTML5 音频播放器
      • 通过 IPC 将消息从主窗口发送到此隐藏窗口以播放声音。

      一点点努力,但就像一个魅力。

      应用关闭时别忘了销毁隐藏窗口(忘记这一步应用不会关闭)。

      【讨论】:

      • 您能为此提供什么机会?我正在学习 Electron 的 API,现在遇到了同样的问题。
      • 这是一种安全的解决方法还是被认为是一种黑客行为?我也遇到了类似的问题
      • 这是一个安全的解决方法。我们不会以不应该使用的方式使用某些东西,因为我会说。
      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多