Chrome桌面推送通知无效

时间:2016-10-22 08:48:00

标签: javascript google-chrome audio push-notification service-worker

我试图在Chrome桌面推送通知中播放声音。 我在我的网站上设置了浏览器推送通知,但它不会播放声音。我已经通过了声音选项。

option = {
     'body' : 'This is tst Description',
     'icon' : 'icon.png',
     'silent' : 'false',
     'sound' : 'bell.mp3'
}

如果还有另一种方式播放通知声音,请告诉我。

4 个答案:

答案 0 :(得分:3)

目前浏览器不支持Notification.sound 见https://developer.mozilla.org/en/docs/Web/API/notification

答案 1 :(得分:2)

您可以尝试使用 chrome web-extension background_pages

它会收听service worker并播放音频 它的简单方法是请求服务工作者中的URL,并使用link

中提到的chrome.webRequest 在后台脚本中捕获它
chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

如此thread

中所述

<强>更新 正如本link

中所述
  

服务工作者需要安全的来源,例如HTTPS。 chrome-extension://页面不是HTTP / HTTPS ,但是是安全的,因此此更改成为允许扩展注册服务工作者的必要步骤。

     

&#34; chrome-extension&#34; 作为允许服务工作者的计划添加。

serviceworker script

首先,您需要在manifest.json

中注册您的扩展程序
  • 请求服务工作者的网址
  • 使用chrome.webRequest.onBeforeRequest.addListener
  • 在后台脚本中捕获它
  • background.js
  • 中播放声音

并且正如@Alexander所提到的那样,MDN中的声音不支持

答案 2 :(得分:1)

或者你可以全局声明myAudio对象,并在弹出通知之前或之后使用play()函数。

myAudio = new Audio("alert_tone.mp3");

var notification = new Notification("Hi there", options);
myAudio.play();

答案 3 :(得分:1)

如您在链接下面看到的

在撰写本文时,没有浏览器支持此选项。

https://developers.google.com/web/fundamentals/push-notifications/display-a-notification#sound

enter image description here