【发布时间】: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