Node-webkit通知声音

我为node-webkit应用程序做了一个函数来触发OS X通知。 它完美的作品,但我不知道是否可以设置一个系统或自定义的声音,而不是经典的iPhone Boing的声音?

我查阅了Mozzila的官方通知API文档( https://developer.mozilla.org/en-US/docs/Web/API/notification ),没有声音选项,但是也许node-webkit植入了该function(无法想象他们没有),但如果他们这样做,我似乎无法find任何文件。

所以我的问题是,在node-webkit中有通知的声音吗?

function notif(title ,tekst, url){ var notice = new Notification(title, { body: tekst }); notice.onshow = function(evt) { setTimeout(function(){notice.close()}, 5000); } notice.onclick = function(evt) { gui.Shell.openExternal(url); setTimeout(function(){notice.close()}, 1000); }; } 

不需要的iPhone声音已经在最近的node-webkit pull请求中被修复/删除,并被释放。

至于生成我自己的声音,我使用原始通知对象的包装,以便每当我调用通知显示命令时,我也会播放声音。

 /** * Use composition to expand capabilities of Notifications feature. */ function NotificationWrapper(appIcon, title, description, soundFile) { /** * A path to a sound file, like /sounds/notification.wav */ function playSound(soundFile) { if(soundFile === undefined) return; var audio = document.createElement('audio'); audio.src = soundFile; audio.play(); audio = undefined; } /** * Show the notification here. */ var notification = new window.Notification(title, { body: description, icon: appIcon }); /** * Play the sound. */ playSound(soundFile); /** * Return notification object to controller so we can bind click events. */ return notification; } 

要使用它,我们只需使用new关键字来调用它:

 var myNotification = new NotificationWrapper( '#', // image icon path goes here 'node-webkit is awesome', 'Especially now that I can use my own sounds', '/sounds/notification.wav' ); myNotification.addEventListener('click', function() { console.log('You clicked the notification.'); });