詳解Html5中video標簽?zāi)切傩院头椒?/h2>

前言

最近在寫一個自定義播放器, 寫之前我們肯定要把播放器的屬性和方法全部過一遍,知彼知己,方能百戰(zhàn)不殆嘛...后面會把自己寫的播放器和踩過的一些坑也上傳上來

video標簽行內(nèi)屬性

src:視頻的URL

poster:視頻封面,沒有播放時顯示的圖片

preload:預加載

autoplay:自動播放

loop:循環(huán)播放

controls:瀏覽器自帶的控制條

width:視頻寬度

height:視頻高度

webkit-playsinline="true" IOS下防止全屏播放

playsinline="true" 同上

x-webkit-airplay="true" 支持ios的AirPlay功能

x5-video-player-type="h5" 啟用同層H5播放器

x5-video-player-fullscreen="true" 全屏設(shè)置

x5-video-orientation="portraint" 豎屏

style="object-fit:fill" 封面鋪滿

muted="true" 靜音播放

應(yīng)該還有一些...不過暫時沒用到, 可以去查MDN文檔

video對象的屬性和方法

1.錯誤狀態(tài)

$video.error; //null:正常?

? $video.error.code; //1.用戶終止 2.網(wǎng)絡(luò)錯誤 3.解碼錯誤 4.URL無效

2.網(wǎng)絡(luò)狀態(tài)屬性(有些比較常用)

$video.currentSrc; //返回當前資源的URL?

? $video.src = value; //返回或設(shè)置當前資源的URL?

? $video.canPlayType(type); //是否能播放某種格式的資源?

? $video.networkState; //0.此元素未初始化? 1.正常但沒有使用網(wǎng)絡(luò)? 2.正在下載數(shù)據(jù)? 3.沒有找到資源?

? $video.load(); //重新加載src指定的資源?

? $video.buffered; //返回已緩沖區(qū)域,$video.buffered.end(0)拿到最后一刻的數(shù)據(jù)

? $video.preload; //none:不預載 metadata:預載資源信息 auto:

3.準備狀態(tài)

$video.readyState;? ? //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA?

? $video.seeking; //是否正在seeking

4.播放狀態(tài)( 常用 )

$video.currentTime = value; //當前播放的位置,賦值可改變位置?

? $video.duration; //當前資源長度 流返回無限?

? $video.paused; //是否暫停?

? $video.defaultPlaybackRate = value;//默認的回放速度,可以設(shè)置?

? $video.playbackRate = value;//當前播放速度,設(shè)置后馬上改變?

? $video.seekable; //返回可以seek的區(qū)域

? $video.ended; //是否結(jié)束?

? $video.autoPlay;? //是否自動播放?

? $video.loop;? //是否循環(huán)播放?

? $video.play();? ? //播放?

? $video.pause();? //暫停

5.控制

$video.controls;//是否有默認控制條?

? $video.volume = value; //音量?

? $video.muted = value; //靜音

video事件方法(常用的加*了)

loadstart? //客戶端開始請求數(shù)據(jù)?

*progress? ? //客戶端正在請求數(shù)據(jù)?

suspend? ? //延遲下載?

abort? ? ? //客戶端主動終止下載(不是因為錯誤引起),?

*error? ? ? //請求數(shù)據(jù)時遇到錯誤?

stalled? ? //網(wǎng)速失速?

*play? ? ? ? //play()和autoplay開始播放時觸發(fā)?

*pause? ? ? //pause()觸發(fā)?

loadedmetadata? //成功獲取資源長度?

*waiting? ? //等待數(shù)據(jù),并非錯誤?

*playing? ? //開始回放?

canplay? ? //可以播放,但中途可能因為加載而暫停?

*canplaythrough //可以播放?

seeking? ? //資源尋找中?

seeked? ? ? //資源尋找完畢?

*timeupdate? //播放時間改變?

*ended? ? ? //播放結(jié)束?

ratechange? //播放速率改變?

durationchange? //資源長度改變?

*volumechange? ? //音量改變

基本上自定義播放器代碼都是基于這個api和屬性來寫的, 以后方便自己查閱....

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容