我正在尝试通过 html5 音频标签播放一些音频(如果有任何不同,则使用 Buzz 作为包装器)。
因为音频是定时从另一个事件开始的,所以我一直在听 canplay 事件。
它在 Chrome 和 Firefox 上完美运行,但 Safari 不会触发 canplay 事件。
我已经为所有可能的可用音频事件添加了事件处理程序,据我所知它只会触发 loadstart
和 loadedmetadata
事件。
当 loadedmetadata
被触发时,音频元素在检查器中看起来很好,但它就是在那里停止的。
我猜这与元素设置为 not 自动播放有关。出于某种原因,这似乎导致 Safari 停在那里(如果我自动播放,那么所有事件被触发)。
您是否遇到了同样的问题,是否有办法不自动播放声音但触发 canplay 事件?
我的 Safari 版本是 5.1.3 (7534.53.10)
最佳答案
好的,解决这个问题的方法很简单,就是将声音设置为自动播放并监听 canplay 事件。当它触发时,我可以暂停它并等待我的其他事件触发。
不得不稍微改变一下逻辑,但这似乎没问题。
关于html5 音频 - canplay 事件不会在 Safari(Mac 桌面)上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9920297/