【问题标题】:How can I implement sound for notification like whatsapp?如何为whatsapp之类的通知实现声音?
【发布时间】:2020-12-08 15:55:08
【问题描述】:

我正在尝试在我的应用程序使用音频上下文 API(当前使用 howler.js)接收一些更新(如whatsapp web)时在我的应用程序上实现声音。

但是当用户没有交互或刷新页面时我遇到了问题:

AudioContext 不允许启动。它必须在页面上的用户手势后恢复(或创建)

用户做一些手势后它可以工作,但刷新后它会再次询问并且不播放音频。

我查看了 whatsapp 网页,发现它的聊天声音即使在没有交互和刷新页面后也始终有效。

我该如何解决这个问题?有没有其他办法解决?

【问题讨论】:

  • 您不能自动播放声音,除非它们在开始时被静音。仅在用户与页面交互后才播放您的声音。
  • 但whatsapp web 无需用户交互即可工作。他们是怎么做到的?
  • 您可以尝试使用 mouseOver 事件在鼠标加载后进入页面屏幕后打开声音。我还没有尝试过,但这应该可以让它感觉声音从一开始就起作用。

标签: javascript reactjs web audio notifications


【解决方案1】:

我认为您在与页面交互之前没有注意到 WhatsApp 不会发出通知声音,如果您在未与页面交互的情况下收到通知,则会在 WhatsApp 网页上显示为您显示的相同注释(请参阅最后登录图片如下):

只有在用户批准后才允许自动播放,网站是 由用户激活或媒体被静音。

这是前端框架(如 Angular)的强大功能,它使所有网站成为一个页面,因为您只需要交互一次,即使您更改了也能继续收到通知声音页面。

【讨论】:

  • 我目前正在使用 React 构建一个应用程序,但即使在之前进行过交互之后,它也会再次要求用户进行交互。
猜你喜欢
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多