【问题标题】:Web API for default beep/ding/warning/alert/buzz/no-no sound默认蜂鸣/叮/警告/警报/嗡嗡声/无声音的 Web API
【发布时间】:2021-09-06 21:05:28
【问题描述】:

在大多数平台上,当发生某种异常情况或警报时,会发出某种“不”的声音。

在 Windows 上,我们有经典的叮叮声,现在通知栏伴随着更友好的声音。在 OS X 上,我们有 donk 声音,伴随着警报框。即使在扬声器静音的移动设备上,我们通常也会产生短暂的振动电机脉冲。

是否有浏览器 API 可以在不弹出警告框或通知的情况下触发这种“默认”吸引注意力的声音或振动?

(注意:我意识到我们可以使用音频元素和 Web Audio API 来播放声音,并且我还意识到有一个实验性 API 可以让振动电机发出嗡嗡声。我对自己管理这些行为不感兴趣。我想在正在使用的任何设备/平台上触发默认警报声音/蜂鸣器操作。)

【问题讨论】:

  • 我很怀疑是否有这样的选择
  • 你可以使用导航器使用振动或在通知中使用播放声音......但我不认为网络有这样的东西!
  • 在没有弹出通知的情况下有什么用例?哪怕只是一秒钟的通知也有那么大的意义吗?通知 API 目前是唯一能够访问负责此行为的操作系统通知系统的 API,因此 const notif = new Notification("ding dong", { vibrate: true }); notif.onshow = e => setTimeout(() => notif.close(), 200); 之类的内容大约是您将获得的最接近的(尽管通知声音不一定是错误)跨度>
  • @Kaiido 我没有考虑特定的用例,但它是一个常用的功能,也是使用平台的 UI 元素(包括声音)的最佳实践。一个示例可能是基于 Web 的终端仿真器,它需要支持“铃”字符 ^G,现在通常映射到该默认声音。

标签: javascript browser webapi


【解决方案1】:

截至撰写本文时,任何浏览器都无法执行此操作(受支持的设备/浏览器上的 vibration 除外)。另一种方法是使用audio api 基于user-agent(用于检测设备)向用户提供声音(尽管如果您不想自己管理此行为,这显然是直接没有,除非有一个预先存在的库)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 2021-11-28
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 2016-05-28
    相关资源
    最近更新 更多