如何在 Electron 中播放自定义声音

Suh*_*shi 5 electron

我正在使用 Electron 8.0.3,我正在尝试播放自定义声音。这就是我正在做的:

  const notif = new Notification({
    title: 'Finished Download',
    body: 'test',
    sound: 'vapp/assets/sounds/mighty_sound.mp3',
  });

  notif.show();
Run Code Online (Sandbox Code Playgroud)

它似乎没有播放该声音,而是播放默认的 macOS 声音。我试过了:

  • 使用绝对路径,例如'/Users/<name>/Desktop/workspace/proj/vapp/assets/sounds/sound.mp3'
  • 打包应用程序以便将声音捆绑在一起
  • 播放不同的文件类型:.wav、.mp3、.aiff
  • 选择可能存在的其他 macOS 声音/System/Library/Sounds

无论出于何种原因,它都会播放相同的声音。

我已经参考了这个文档

mic*_*ons 2

silent我的方法是将Electron 的通知模块的属性设置true为不播放操作系统声音,然后使用这个sound-playnpm 包来播放我自己的声音。

const showNotification = () => {
  new Notification({
    title: "Elon Musk is Tesla CEO",
    body: "The automaker just got...",
    silent: true, //// Disable sound by operating system
  }).show();

  // Play custom sound
  const sound = require("sound-play");
  sound.play("./src/quite-impressed.mp3");
};
Run Code Online (Sandbox Code Playgroud)