HTML5新增video標簽及對應屬性、API詳解


知識說明:

       比不上很牛的前端開發人員,但自始至終明白“萬丈高樓平地起”,基礎最重要,初學HTML5,穩固基礎第一步,把最基本的整理下來,留下自己學習的痕跡。HTML5新增的video標簽,將其屬性以及API使用整理下來,無論以后用不用得到,都是自己的一筆寶貴的財富。

 

Video標簽:

 

一、video支持視頻格式:

以下是三種最常用的格式

1、 ogg格式:帶有Theora視頻編碼(免費)+Vorbis音頻編碼的Ogg文件(免費)

支持的瀏覽器:firefox、chrome、opera

2、 MPEG4格式:帶有H.264視頻編碼(收費)+AAC音頻編碼的MPEG4文件(收費)

支持的瀏覽器:safari、chrome

3、 Webm格式:帶有VP8視頻編碼(免費)+Vorbis音頻編碼的WebM格式(免費)

支持的瀏覽器:IE、firefox、chrome、opera

優勢:全免費、壓縮比較好(小)、視頻質量好

劣勢:視頻少、轉碼器幾乎沒有,不好轉碼

 

二、標簽原型:

1、//指定一種視頻格式,不能播就提示

代碼片段:

<video src = “***.mp4” controls=”controls”>

您的瀏覽器不支持video標簽,建議更新瀏覽器版本

</video>

 

2、//給定多種視頻格式,瀏覽器根據自身支持程度選擇播放哪一種

注意:多個source標簽,瀏覽器會從第一個開始識別,如果第一個不被識別,則會繼續識別第二個;如果第一個識別成功,則會直接播放第一種格式視頻

代碼片段:

<video controls = “controls”>

       <source src=”1.mp4” type=”video/mp4” />  //src屬性寫到source標簽中,要指定視頻的type類型,例如MP4的即為type=“video/mp4”

       <source src = “2.ogg” type=”video/ogg” />  //ogg格式

       <source src=”3.webm” type=”video/webm” />   //webm格式

</video>

 

三、標簽屬性:

       雖然有的屬性是boolean類型,但仍舊建議按照XHTML書寫(屬性名=”屬性值”)格式,避免出現錯誤 (下面紅色加粗的屬性為常用屬性)

屬性

功能描述

controls

controls

是否顯示播放控件

autoplay

autoplay

設置是否打開瀏覽器后自動播放

width

Pilex(像素)

設置播放器的寬度

height

Pilex(像素)

設置播放器的高度

loop

loop

設置視頻是否循環播放(即播放完后繼續重新播放)

preload

preload

設置是否等加載完再播放

src

url

設置要播放視頻的url地址

poster

imgurl

設置播放器初始默認顯示圖片

autobuffer

autobuffer

設置為瀏覽器緩沖方式,不設置autoply才有效

 

四、video標簽API:

       Video標簽也提供了比較人性化的API接口,供寫JS時直接調用,方便簡單

API

事件說明

play

video.play();    播放視頻

pause

video.pause();  暫停播放視頻

load

video.load();   將全部屬性回復默認值,視頻恢復重新開始狀態

canPlayType

var support = videoid.canPlayType('video/mp4');   判斷瀏覽器是否支持當前類型的視頻格式

返回值:

空字符串:不支持

Maybe:可能支持

Probably:完全支持

       關於video標簽的API在JS中用法如下:

<button onclick=”isPlay(this)”>播放</button>

<button onclick=”replay()”>重新播放</button>

 

<script>

       var video = document.getElementById(‘video’);  //括號內為video標簽的id

       //播放視頻(點擊播放按鈕,后變成暫停)

   function isPlay(obj)

  {

         If(video.paused)

    {

           Obj.innerHTML=”暫停”;

           Video.play();

    }else{

           Obj.innerHTML=”播放”;

           Video.pause();

    }

  }

 

//暫停播放

function replay()

{

       Video.load();

}

 

//判斷要播放的視頻格式當前瀏覽器是否支持

function isPlayType()

{

       Var support = video.canPlayType(“video/mp4”);

       Console.log(support);  //返回結果:空字符串、maybe(可能支持)、probably(支持)

}

</script>

 

五、video標簽API屬性:

       Video不僅提供了API接口,還提供了許多的API屬性,方便在JS中做判斷,如下:

API屬性

事件說明

duration

返回媒體的播放總時長,單位秒

loop

是否循環播放

muted

是否靜音

paused

是否暫停

currentTime

當前播放時間(單位:秒)

volume

音量值

networkState

返回當前網絡狀態

playbackRate

播放的倍速(加速、減速播放)

src

當前視頻源的URL

ended

返回當前播放是否結束標志

error

返回當前播放的錯誤狀態

initialTime

返回初始播放的位置

mediaGroup

當前音視頻所屬媒體組 (用來鏈接多個音視頻標簽)

played

當前播放部件已經播放的時間范圍(TimeRanges對象)

preload

頁面加載時是否同時加載音視頻

readyState

返回當前的准備狀態

seekable

返回當前可跳轉部件的時間范圍(TimeRanges對象)

audioTracks

返回可用的音軌列表(MultipleTrackList對象)

autoplay

媒體加載后自動播放

buffered

返回緩沖部件的時間范圍(TimeRanges對象)

controller

返回當前的媒體控制器(MediaController對象)

controls

顯示播控控件

crossOrigin

CORS設置

currentSrc

返回當前媒體的URL

defaultMuted

缺省是否靜音

defaultPlaybackRate

播控的缺省倍速

seeking

返回用戶是否做了跳轉操作

startOffsetTime

返回當前的時間偏移(Date對象)

textTracks

返回可用的文本軌跡(TextTrackList對象)

videoTracks

返回可用的視頻軌跡(VideoTrackList對象)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM