給每一段視頻一個(gè)不顯示的 標(biāo)簽,其
preload
屬性設(shè)置為 metadata
。這樣的話不會(huì)加載整個(gè)視頻但是你能獲得每個(gè)視頻的長(zhǎng)度。
這樣的話通過(guò)監(jiān)聽(tīng)那幾個(gè)標(biāo)簽的 durationchange
事件,你就知道總時(shí)間了。
然后無(wú)非就是做一個(gè)可以拖動(dòng)的滾動(dòng)條;拖動(dòng)到某個(gè)部位之后,算一下處于那段視頻中間;把那段視頻對(duì)應(yīng)的 顯示出來(lái),并把
currentTime
設(shè)置到相應(yīng)的時(shí)間,然后 play()
。
播放時(shí)通過(guò)監(jiān)聽(tīng) timeupdate
事件來(lái)更新進(jìn)度條的位置。通過(guò)監(jiān)聽(tīng) ended
事件來(lái)獲知一段視頻已經(jīng)播放結(jié)束,應(yīng)該加載下一段。