iframe 中的 AudioContext 跨域阻塞
AudioContext cross domain blocking in iframe
虽然我只响应点击播放音频,但我会在脚本加载时初始化 AudioContext 和缓冲区等。
在移动 Chrome 57.0.2987.132 中,控制台在从 iframe 加载时显示以下警告:
An AudioContext in a cross origin iframe must be created or resumed
from a user gesture to enable audio output.
为了让音频正常工作,我在第一次点击时重新创建了 AudioContext。有没有办法在第一次点击时简单地激活现有的 AudioContext?也可以检测当前音频是否被屏蔽吗?
参考文献:
AudioContext.state 会告诉您它是 "running" 还是 "suspended"。如果它是 "suspended",请从用户手势内部调用 AudioContext.resume(),它应该会为您启动它(无需重新创建状态)。
虽然我只响应点击播放音频,但我会在脚本加载时初始化 AudioContext 和缓冲区等。
在移动 Chrome 57.0.2987.132 中,控制台在从 iframe 加载时显示以下警告:
An AudioContext in a cross origin iframe must be created or resumed from a user gesture to enable audio output.
为了让音频正常工作,我在第一次点击时重新创建了 AudioContext。有没有办法在第一次点击时简单地激活现有的 AudioContext?也可以检测当前音频是否被屏蔽吗?
参考文献:
AudioContext.state 会告诉您它是 "running" 还是 "suspended"。如果它是 "suspended",请从用户手势内部调用 AudioContext.resume(),它应该会为您启动它(无需重新创建状态)。