鍍金池/ 問答/HTML5  HTML/ video標(biāo)簽播放視頻,精確控制在某個時間點暫停

video標(biāo)簽播放視頻,精確控制在某個時間點暫停

監(jiān)聽timeupdate方法,得到的時間值是個有點類似隨機(jī)數(shù)的一個值。
比如我想在60.33s這個精確點時間點來實現(xiàn)視頻的暫停,使用timeupdate方法就無法實現(xiàn)這個功能
只能判斷當(dāng)前的時間是否大于60.33,這個時候?qū)嶋H上視頻的播放進(jìn)度已經(jīng)超過了60.33這個時間點。
如何才能做到在精確的時間點上暫停呢?

我是想做到視頻從0開始播放,當(dāng)播放到60.33s時出現(xiàn)暫停,這個時間既不會提前也不會延后。

回答
編輯回答
神經(jīng)質(zhì)
  1. 除非這個時間點是一個幀時間點,否則不會有這么準(zhǔn)確的
  2. 線視頻播放中的時間點信息是一種metadata數(shù)據(jù),它其實是一個key值,這個點可以用來定位文件數(shù)據(jù)(對應(yīng)幀——一般是關(guān)鍵幀數(shù)據(jù)頭部的文件內(nèi)偏移,而不是隨機(jī)數(shù))。
  3. 確實你只能通過比較來進(jìn)行判斷以及停止,不過判斷點你不一定非要在60.33,你需要根據(jù)視頻的幀率計算出對應(yīng)的準(zhǔn)確時間,然后提前1幀作為標(biāo)準(zhǔn)點來進(jìn)行比較。
2018年7月28日 08:52
編輯回答
心上人

要在60.33處暫停,在timeupdate中監(jiān)聽時間大于59.33(60.33-1),然后算出當(dāng)前時間和目標(biāo)時間的差值。再使用定時器函數(shù)來執(zhí)行暫停,時間間隔就是剛才算出來的差值

2017年3月27日 21:20
編輯回答
鹿惑
video.currentTime = 60.33;
2018年1月17日 02:15