在 iframe 中启动 AudioContext

Posted

技术标签:

【中文标题】在 iframe 中启动 AudioContext【英文标题】:Starting an AudioContext in an iframe 【发布时间】:2022-01-14 09:59:28 【问题描述】:

我正在开发一个网络音频 SDK,并考虑在 iframe 中仅嵌入音频(而不是 UI 元素)。我收到以下错误:

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.

我想知道是否有一种方法可以在 iframe 上创建用户手势,即使它是隐藏的且仅音频?原始手势在父组件上,但似乎没有向下传播到框架。谢谢!

【问题讨论】:

【参考方案1】:

为了获得更好的用户体验 (UX),浏览器不允许自动播放音频,除非用户通过点击/轻敲等手势明确“请求”音频。 iFrame 必须可见且可交互才能接收用户手势,否则会绕过 UX 保护措施。

【讨论】:

以上是关于在 iframe 中启动 AudioContext的主要内容,如果未能解决你的问题,请参考以下文章

在单元测试中使用 AudioContext

Safari 上的 AudioContext 问题

音频与 AudioContext

使用 Jest、AudioContext 进行测试和模拟

Chrome M34 中 MediaStreamDestination 的 AudioContext 立体声输出

AudioContext 无法在 Safari 上运行,但在 Google Chrome 上运行