2011-03-17 163 views
5

如何在音頻標籤準備播放時獲得回撥。 (告訴用戶,在執行我自己的控件時)HTML5音頻onLoad

使用Chrome。

回答

7

只對視頻元素做了這個,但它應該適用於音頻。

首先,你不能綁定事件,我不知道爲什麼這是行不通的。所以你必須使用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

+0

不是最優的,但我想沒有別的選擇了......謝謝 – yydl 2011-03-17 22:07:20

+1

剛剛檢查了'loadeddata'事件,它在IE,Chrome和FF的最新版本中運行良好。尚未測試舊版瀏覽器或移動設備。 – 2012-06-12 01:05:30

4

你能不能綁定到onloadeddata事件?這個對我有用。 W3C Reference

+0

這是更好的anwser – 2014-03-10 19:51:12

0

你看過canplaythrough事件嗎?