0

当音频播放器在页面加载时播放音频文件时,我似乎无法让 Firefox v20.0 第一次触发“播放”或“播放”事件。

如果我单击暂停,然后单击播放,“播放”和“播放”事件都会触发,但不会在初始页面加载时触发。

我尝试使用下面的 vanilla JS 绑定到“play”/“playing”事件,甚至尝试使用 jQuery 的bind()方法,但无济于事。

似乎在 Chrome v26.0.1410.64 和 IE 10 中运行良好。这是 Firefox 中的错误吗?

// HTML
// ---------------------------------------------------
<audio controls="" preload="auto" autobuffer autoplay>
    <source src="bc.ogg" type='audio/ogg'>
</audio>


// JS
// --------------------------------------------
// Assume player is <audio>

player.addEventListener('playing', function() {
    console.log('PLAY');
});

我的最终目标是在播放音频时用暂停按钮替换自定义播放按钮。

4

1 回答 1

2

音频元素可能在听者被绑定之前开始播放。由于 DOM 构建和处理方式的内部差异,这可能会在某些浏览器中发生,而在其他浏览器中则不会。最好的解决方案是在页面完全加载后绑定监听器并播放音频元素,而不是依赖浏览器在需要时启动它。

于 2013-04-09T21:25:13.997 回答