欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

移動端關(guān)于視頻跳轉(zhuǎn)的currentTime兼容問題 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

移動端關(guān)于視頻跳轉(zhuǎn)的currentTime兼容問題

發(fā)表時間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):75

視頻交互類的項目難免會遇到視頻跳轉(zhuǎn)位置的問題,我這大致分為兩類:

一、手動跳轉(zhuǎn):就是說在用戶主動做了某一操作后視頻跳轉(zhuǎn)到某一個時間點。

二、自動跳轉(zhuǎn):當視頻到達某一時間節(jié)點自動跳轉(zhuǎn)到另一時間節(jié)點。

第一類其實只要控制時間節(jié)點能對上就基本沒問題,也就是

video.currentTime = 1 //單位:秒

但實際上,android卻表現(xiàn)怪異,視頻總是會跳到你想要的視頻時間點的附近1-2s左右;

解決方案為,跳轉(zhuǎn)視頻的關(guān)鍵幀間隔,簡單解釋為,當視頻的fps=24,關(guān)鍵幀間隔為72(默認)時,視頻會在每 72/24=3s 設(shè)置一個關(guān)鍵幀,當你設(shè)置video.currentTime=2.5時,android會自動跳到最近的關(guān)鍵幀,也就離2.5s最近的3s處,也就會導(dǎo)致時間點會偏差1-2s。導(dǎo)出視頻時可以設(shè)置你想要的幀間隔,但同時幀間隔越小則視頻體積會越大,合理設(shè)置幀間隔或者插入相同幀來延長時間點,使得時間點包含關(guān)鍵幀是比較好的方案,比如說fps=24,想要跳到1秒20幀,那就關(guān)鍵幀間隔設(shè)置為48,然后1秒21、22、23、24幀跟20幀一樣,視頻會跳轉(zhuǎn)到關(guān)鍵幀1秒24,如此畫面就會是你想要的。

第二類問題就除了要解決第一個視頻時間點問題外,還要監(jiān)測視頻當前的進度,video標簽有一個自帶的方法timeupdate,但有一個問題,就是這個事件是大概250ms執(zhí)行一次,但如果fps=24,幀間隔大概1000/24=42ms;你拿到時間點會有幾幀的偏差??梢允褂枚〞r器來拿到當前時間點

setInterval(() => {
    let cur = video.currentTime
}, 40);

然后再在每個時間點的后面插入3-4幀相同幀,確保不會跳幀,以上,基本可以確保視頻位置正確的跳轉(zhuǎn)。

相關(guān)案例查看更多