1. 程式人生 > >H5中的video標籤使用

H5中的video標籤使用

1,下面是一個播放視訊的最簡單樣例
(controls屬性告訴瀏覽器要有基本播放控制元件)

clip_image002

<video src="hangge.mp4" controls></video>

2,通過widthheight設定視訊視窗大小

<video src="hangge.mp4" controls width="400" height="300"></video>

3,預載入媒體檔案
設定preload不同的屬性值,可以告訴瀏覽器應該怎樣載入一個媒體檔案:
(1)值為auto:讓瀏覽器自動下載整個檔案
(2)值為none:讓瀏覽器不必預先下載檔案
(3)值為metadata:讓瀏覽器先獲取視訊檔案開頭的資料塊,從而足以確定一些基本資訊(比如視訊的總時長,第一幀影象等)

<!-- 使用者點選播放才開始下載 -->

<video src="hangge.mp4" controls preload="none"></video>

4,自動播放
(1)使用autoplay屬性可以讓瀏覽器載入完視訊檔案後立即播放。

<video src="hangge.mp4" controls autoplay></video>

(2)如果啟用自動播放,可以將播放器設定為muted狀態。這樣自動播放時會靜音,防止使用者厭煩。使用者需要的話可以點選播放器揚聲器圖示重新開啟聲音。

<video src="hangge.mp4" controls autoplay muted></video>

5,迴圈播放
使用loop屬性讓視訊播放結束時,再從頭開始播放。

<video src="hangge.mp4" controls loop></video>

6,設定替換視訊的圖片(封面圖片)
通過poster屬性可以設定,瀏覽器在下面三種情況下會使用這個圖片:
(1)視訊第一幀未載入完畢
(2)把preload屬性設定為none 
(3)沒有找到指定的視訊檔案

<video src="hangge.mp4" controls poster="hangge.png"></video>

7,瀏覽器相容,如何讓每一個瀏覽器都能順利播放視訊


現在大部分瀏覽器都能支援H.264格式的視訊,但Opera瀏覽器卻一直不支援。我們需要通過後備措施保證每個人都能看到視訊,通常有下面幾種方案:
1)使用多種視訊格式
<video>和<audio>元素有個內建的格式後備系統。我們不使用src屬性,而是在其內部巢狀一組<source>元素,瀏覽器會選擇播放第一個它所支援的檔案。
我們可以新增WebM格式的視訊提供對Opera的支援。

<video controls>

<source src="hangge.mp4" type="video/mp4">

<source src="hangge.webm" type="video/webm">

</video>

2)新增Flash後備措施(推薦)
上面那個方法不推薦,應為Opera瀏覽器只佔不到1%的份額。特意為它把視訊都轉碼一邊太費事。使用Flash作為備用播放方案還是很方便的,同時Flash還能相容IE8這種連<video>元素都不支援的老瀏覽器。

<video controls>

<source src="hangge.mp4" type="video/mp4">

<source src="hangge.webm" type="video/webm">

<object id="flowplayer" width="400" height="300"

data="flowplayer-3.2.18.swf"

type="application/x-shockwave-flash">

<param name="movie" value="flowplayer-3.2.18.swf">

<param name="flashvars" value='config={"clip":"hangge.mp4"}'>

</object>

</video>

3)也有人優先使用Flash,而HTML5作為後備措施。
這麼做是因為Flash普及率比較高,而HTML5作為後備可以擴充套件iPad和iPhone使用者

<object id="flowplayer" width="400" height="300"

    data="flowplayer-3.2.18.swf"

type="application/x-shockwave-flash">

    <param name="movie" value="flowplayer-3.2.18.swf">

    <param name="flashvars" value='config={"clip":"hangge.mp4"}'>

    <video controls>

        <source src="hangge.mp4" type="video/mp4">

        <source src="hangge.webm" type="video/webm">

    </video>

</object>