2015-08-24 49 views
1

在HTML5中定義了一個事件,該事件在整個視頻可以播放時不會發生斷斷續續的情況(由瀏覽器估計)觸發。我的問題是,這是基於從視頻開始時開始的嗎?何時在html5中觸發canplaythrough事件?

比方說,我做的事:

video.load(); 

video.addEventListener("loadedmetadata", function(){ 
    video.currentTime = 500; 
}.bind(this), false); 

video.addEventListener("canplaythrough", function(){ 
    console.log("I can play through..."); 
}.bind(this), false); 

請問canplaythrough事件觸發時,視頻也可以通過基於從頭開始玩還是會被觸發時,視頻也可以通過基於起始於玩500秒點的視頻?

可能是這樣的情況,前20秒的視頻已被緩衝,這意味着當從一開始播放它可以播放時,但是當我們然後將當前時間設置爲500秒,那麼我們可能無法播放通過因爲這部分還沒有被緩衝。

+0

我懷疑你會發現它是特定於實現的。 – Quentin

回答

-1

從文檔:

當瀏覽器估計它可以通過指定的音頻/視頻,而無需停止緩衝播放時發生canplaythrough事件。

我假設爲了估計結果,瀏覽器將下載速度和整體文件大小考慮在內。

+0

您似乎已經回答了問題標題,但沒有閱讀任何問題的正文,該問題提供了關於所要求問題的重要背景。結果,這並沒有解決這個問題。 – Quentin

+0

我的答案澄清說,canplaytrough是一個近似值,任何事情都可能發生在獲得結果後僞造結果。 我想如果你想知道視頻是否被100%緩衝,你應該使用http://www.w3schools.com/tags/av_event_progress.asp – buffy

+0

你的評論似乎沒有與這個問題遙遙相關,這是「 canplaytrough的計算是基於點或者開始點?「 – Quentin