HTML5 音频加载

Posted

技术标签:

【中文标题】HTML5 音频加载【英文标题】:HTML5 Audio onLoad 【发布时间】:2011-03-17 05:03:59 【问题描述】:

当音频标签准备好播放时,如何获得回调。 (在实现我自己的控件时告诉用户)

使用 Chrome。

【问题讨论】:

【参考方案1】:

仅对视频元素进行了此操作,但它应该适用于音频。

首先,你不能绑定事件,我不知道为什么这不起作用。所以你必须使用 setTimeout。

使用 jQuery 的示例:

$(function()
    var audioReady = function()
        if (youraudioelement.attr('readyState')) 
            alert("it's ready!");
         else 
            setTimeout(audioReady, 250);
        
    
    audioReady();

更多信息:http://www.w3.org/TR/html5/video.html#the-ready-states

【讨论】:

不是最佳选择,但我想没有其他选择...谢谢 刚刚检查了 'loadeddata' 事件,它在最新版本的 IE、Chrome 和 FF 中运行良好。尚未测试旧版浏览器或移动设备。【参考方案2】:

不能绑定onloadeddata 事件吗?这个对我有用。 W3C Reference

【讨论】:

这是更好的答案【参考方案3】:

你看过 canplaythrough 事件吗?

【讨论】:

以上是关于HTML5 音频加载的主要内容,如果未能解决你的问题,请参考以下文章

仅 Chrome 加载 6 个 HTML5 音频标签

HTML5 音频加载和播放无法在 iPad 上运行

仅从 html5 视频/音频加载元数据

加载失败,因为找不到支持的源。播放 HTML5 音频元素时 [重复]

如何在点击时动态加载/播放/暂停多源 HTML5 音频?

即使在点击处理程序上,Html5 音频也不会加载/播放