天天看點

不屬于html5video屬性,H5中video标簽那些屬性和方法

前言

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

video标簽行内屬性

src:視訊的URL

poster:視訊封面,沒有播放時顯示的圖檔

preload:預加載

autoplay:自動播放

loop:循環播放

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" 全屏設定

x5-video-orientation="portraint" 豎屏

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

muted="true" 靜音播放

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

video對象的屬性和方法

1.錯誤狀态

$video.error; //null:正常

$video.error.code; //1.使用者終止 2.網絡錯誤 3.解碼錯誤 4.URL無效

2.網絡狀态屬性(有些比較常用)

$video.currentSrc; //傳回目前資源的URL

$video.src = value; //傳回或設定目前資源的URL

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

$video.networkState; //0.此元素未初始化 1.正常但沒有使用網絡 2.正在下載下傳資料 3.沒有找到資源

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

$video.buffered; //傳回已緩沖區域,$video.buffered.end(0)拿到最後一刻的資料

$video.preload; //none:不預載 metadata:預載資源資訊 auto:

3.準備狀态

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

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

4.播放狀态(常用)

$video.currentTime = value; //目前播放的位置,指派可改變位置

$video.duration; //目前資源長度 流傳回無限

$video.paused; //是否暫停

$video.defaultPlaybackRate = value;//預設的回放速度,可以設定

$video.playbackRate = value;//目前播放速度,設定後馬上改變

$video.seekable; //傳回可以seek的區域

$video.ended; //是否結束

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

$video.loop; //是否循環播放

$video.play(); //播放

$video.pause(); //暫停

5.控制

$video.controls;//是否有預設控制條

$video.volume = value; //音量

$video.muted = value; //靜音

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

loadstart //用戶端開始請求資料

*progress //用戶端正在請求資料

suspend //延遲下載下傳

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

*error //請求資料時遇到錯誤

stalled //網速失速

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

*pause //pause()觸發

loadedmetadata //成功擷取資源長度

*waiting //等待資料,并非錯誤

*playing //開始回放

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

*canplaythrough //可以播放

seeking //資源尋找中

seeked //資源尋找完畢

*timeupdate //播放時間改變

*ended //播放結束

ratechange //播放速率改變

durationchange //資源長度改變

*volumechange //音量改變

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