HTML5播放器是一種基于HTML5技術的音視頻播放器,由于其優秀的性能體驗,受到越來越多網站和應用的青睞。其中進度條是播放器常見的控制組件之一,下面我們來看一下HTML5播放器進度條代碼。
<div class="progressBar"> <div class="progress"></div> <div class="buffer"></div> </div>
上述代碼中,progressBar表示進度條組件的容器;progress表示播放進度;buffer表示緩沖進度。進度條的實現需要通過JavaScript根據媒體資源的播放時間以及緩沖時間動態計算,通過調整進度條的寬度來反映當前媒體資源的播放進度。
var progressBar = document.querySelector('.progressBar') var progress = progressBar.querySelector('.progress') var buffer = progressBar.querySelector('.buffer') var media = document.querySelector('#media') function updateProgressBar() { var duration = media.duration var currentTime = media.currentTime var buffered = media.buffered.end(0) var progressWidth = (currentTime / duration) * 100 var bufferWidth = (buffered / duration) * 100 progress.style.width = progressWidth + '%' buffer.style.width = bufferWidth + '%' requestAnimationFrame(updateProgressBar) } media.addEventListener('timeupdate', updateProgressBar) updateProgressBar()
上述代碼是通過JavaScript來實現進度條動態更新的代碼。首先獲取progressBar、progress、buffer和media元素,然后在updateProgressBar函數中,獲取媒體資源的總時間duration、當前播放時間currentTime、已緩沖時間buffered,并根據這些信息計算出progress和buffer的寬度,最后更新對應元素的樣式。在media的timeupdate事件中不斷執行updateProgressBar函數實現進度條的動態更新。
以上為HTML5播放器進度條代碼的簡單介紹。
上一篇html5播放器完整代碼
下一篇svg css 邊框