从主进程在 Electron 中播放音频

Playing Audio in Electron from main process

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

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

亲切的问候,

BoxSon

我自己找到了解决这个问题的方法:

  • 创建并打开隐藏 window。
  • 在此window加载一个HTML5音频播放器
  • 通过 IPC 向这个隐藏的 window 从 main 发送消息以播放声音。

一点努力,但效果很好。

不要忘记在应用程序关闭时销毁隐藏的window(如果您忘记了这一步,应用程序将不会关闭)。

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

首先,您需要通过npm install sound-play安装或使用npm install sound-play --save

直接保存到您的项目中

由此初始化

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

播放文件只需一行代码

sound.play("file.mp3");

您可以通过this link

在官网了解更多