html5 音频 - 在 Safari(Mac 桌面)上不会触发 canplay 事件

Ben*_*Ben 6 html safari events html5-audio

我正在尝试通过 html5 音频标签播放一些音频(如果有任何不同,则使用 Buzz 作为包装器)。

因为音频是从另一个事件开始的,所以我一直在监听 canplay 事件。

它在 Chrome 和 Firefox 上完美运行,但 Safari 不会触发 canplay 事件。

我已经为所有可能的可用音频事件添加了事件处理程序,据我所知它只触发loadstartandloadedmetadata事件。

loadedmetadata被触发时,音频元素在检查器中看起来不错,但这就是它停止的地方。

我猜这是原因与设置为自动播放的元素有关..出于某种原因,似乎导致 Safari 停止在那里(如果我自动播放,则触发所有事件)。

您是否遇到同样的问题,有没有办法不自动播放声音但触发 canplay 事件?

我的 Safari 版本是 5.1.3 (7534.53.10)

Ben*_*Ben 5

好的,解决这个问题的方法只是将声音设置为自动播放并收听 canplay 事件。当它触发时,我可以暂停它并等待我的另一个事件触发。

不得不稍微移动一下逻辑,但这似乎可以正常工作。