![](/img/trans.png)
[英]HTML5 Video - Start video at certain time and play for x amount of time
[英]Start a HTML5 video after a certain amount has loaded
你能告訴我如何加載一定數量的HTML5視頻嗎? 例如,如果我有一個10秒的視頻,我希望它只在加載至少5秒時啟動。 我如何確定何時發生?
編輯 :我們假設視頻正在加載,並且它位於.pause()
位置而不是.stop()
您可以讀取視頻元素的buffered
屬性以查看已加載的時間范圍。 buffered
屬性是已加載的時間范圍的集合; 你可以用buffered.start(n)
和buffered.end(n)
來讀取第n
個范圍的開始和結束。 由於您對第一個范圍的結束時間感興趣,因此您可以使用videoElm.buffered.end(0)
讀取某些視頻videoElm
上加載的秒數。
<video>
元素觸發progress
事件以指示它已加載了一個新的數據塊(因此buffered
的某個時間范圍的結束時間正在增加)。
您可以在每次progress
事件后檢查加載的緩沖區是否足夠大:
var someVideo = document.getElementById("myVideoId");
someVideo.addEventListener("progress", function playOnLoad(e) {
var theVideo = e.target;
if(theVideo.buffered.length > 0 && // if we have a buffer
theVideo.buffered.end(0) >= 5) { // if first buffer is at least 5 secs
theVideo.play();
theVideo.removeEventListener(playOnLoad);
}
});
如果您真的對視頻是否可以安全播放而不中斷感興趣,則瀏覽器會使用canplaythrough
事件。 當瀏覽器預測視頻的加載速率允許它不間斷地播放時,瀏覽器將觸發此事件(但如果加載速率突然改變,它有時可能是錯誤的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.