知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
移動端關(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)案例查看更多
相關(guān)閱讀
- 百度排名
- 高端網(wǎng)站建設(shè)公司
- 云南小程序設(shè)計
- 大理網(wǎng)站建設(shè)公司
- 紅河小程序開發(fā)
- 網(wǎng)絡(luò)公司電話
- 百度小程序公司
- 云南手機網(wǎng)站建設(shè)
- 汽車報廢拆解管理系統(tǒng)
- 海報插件
- 做小程序被騙
- 網(wǎng)站制作
- 云南網(wǎng)站制作
- 智慧農(nóng)貿(mào)市場
- 云南網(wǎng)頁制作
- 網(wǎng)站優(yōu)化
- 云南網(wǎng)站建設(shè)公司哪家好
- web
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 開發(fā)制作小程序
- web開發(fā)技術(shù)
- 云南網(wǎng)絡(luò)公司
- 云南網(wǎng)站建設(shè)一條龍
- 排名
- 汽車報廢回收
- 汽車拆解管理系統(tǒng)
- 昆明小程序設(shè)計
- 云南小程序開發(fā)公司哪家好
- 網(wǎng)站建設(shè)服務(wù)
- 正規(guī)網(wǎng)站建設(shè)公司