用途:为网页游戏或交互应用提供容错、低延迟的浏览器音频实现模式,支持音效、背景音乐与语音朗读。
主要能力:以 10 条规则组织。1)AudioContext 昂贵,每页只创建一次并复用,需在用户交互后 resume。2)启动时预加载全部音频,避免热路径加载。3)快速连发音效使用 cloneNode() 从缓存复制,避免网络请求。4)不应重叠的声音先取消上一实例,防止音频堆积。5)每次 play() 都静默 catch,忽略自动播放拦截错误。6)背景音乐等持久状态用 window 全局保存,以在开发热重载后存活。7)按声音类型设定音量层级,如悬停/点击 0.2–0.3、成功/错误 0.3–0.5、里程碑 0.7–0.8、背景音乐 0.15–0.25。8)尊重 prefers-reduced-motion,据此默认关闭或调整音频。9)用 Web Audio API 实现侧链闪避(播放音效时压低音乐)与混响等效果,节点创建一次复用。10)用 Web Speech API 做文本转语音,并持久化用户偏好。
使用方式:资料给出 AudioService 类示例,包含 preload、play、playRapidFire、duckMusicFor、applyHallReverb、TTSService 等方法,以及节点路由参考(Source→GainNode→Destination 等)。
适用场景:网页游戏、儿童学习应用、需要即时音效反馈的交互界面。
限制:资料未提供安装命令、依赖、浏览器兼容范围、性能基准或授权信息;示例路径与音量值为参考,需按实际项目调整。