Video標籤介紹
大多數用戶已經安裝了Flash外掛(事實上,大概有95%的上網用戶都裝有Flash的某個版本),但HTML 5的支持者正在推動一個開放的,不需要任何插件的視訊標準。這就是HTML 5的新標籤<video>帶來的構想,他提供了一個嵌入視訊(以及與其互動)而不需要類似Flash的私有插件的方法。
直到現在,仍然不存在一項旨在網頁上顯示影片的標準。
瀏覽器支援情況
Internet Explorer 9+, Firefox, Opera, Chrome, 和Safari 支援<video> 元素.
注意: Internet Explorer 8 或更早的IE版本不支援<video> 元素。
Video標籤的使用
Video標籤含有src、poster、preload、autoplay、loop、controls、width、height等幾個屬性,以及一個內部使用的標籤<source>。 Video標籤內除了可以包含<source>標籤外,還可以包含當指定的影片都不能播放時,傳回的內容。
(1) src屬性和poster屬性
你能想像src屬性是用來幹啥的。跟<img>標籤的一樣,這個屬性用來指定影片的位址。而poster屬性用於指定一張圖片,在目前影片資料無效時顯示(預覽圖)。視訊資料無效可能是視訊正在加載,可能是視訊地址錯誤等等。
(2) preload屬性
這個屬性也能透過名字了解用處,此屬性用於定義影片是否預先載入。屬性有三個可選擇的值:none、metadata、auto。如果不使用此屬性,預設為auto。
None:不進行預先載入。使用此屬性值,可能是頁面製作者認為用戶不期望此視頻,或減少HTTP請求。
Metadata:部分預先載入。使用此屬性值,代表頁面製作者認為用戶不期望此視頻,但為用戶提供一些元數據(包括尺寸,第一幀,曲目列表,持續時間等等)。
Auto:全部預先載入。
(3) autoplay屬性
又是一個看名字知道用處的屬性。 Autoplay屬性用於設定影片是否自動播放,是一個布林屬性。當出現時,表示自動播放,去掉是表示不自動播放。
注意,HTML中布林屬性的值不是true和false。正確的用法是,在標籤中使用此屬性表示true,此時屬性要么沒有值,要么其值恆等於他的名字(此處,自動播放為<video autoplay />或者<video autoplay=” autoplay” />);而在標籤中不使用此屬性表示false(此處不進行自動播放為<video />)。
(4) loop屬性
一目了然,loop屬性用來指定影片是否循環播放,同樣是一個布林屬性。
(5) controls屬性
Controls屬性用於向瀏覽器指明頁面製作者沒有使用腳本產生播放控制器,需要瀏覽器啟用本身的播放控制欄。
控制列須包含播放暫停控制,播放進度控制,音量控制等等。
每個瀏覽器預設的播放控制列在介面上不一樣。由於我瀏覽器的詭異問題,Firefox和Safari的Video標籤不正常,所以這兩個只能在網路上找截圖了。
(6) width屬性和height屬性
屬於標籤的通用屬性了,這個不用多說。
影片格式與瀏覽器的支援
目前, <video> 元素支援三種影片格式: MP4, WebM, 和Ogg:
瀏覽器 MP4 # YES NO NO #Chrome YES YES YES
Firefox YES YES YES
Safari YES NO NO
Opera YES (從Opera 25 起) YES YES
MP4 = 帶有H.264 視訊編碼和AAC 音訊編碼的MPEG 4 檔案
WebM = 帶有VP8 視訊編碼和Vorbis 音訊編碼的WebM 檔案
Ogg = 帶有Theora 視訊編碼和Vorbis 音訊編碼的Ogg 檔案
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <div style="text-align:center"> <button onclick="playPause()">播放/暂停</button> <button onclick="makeBig()">放大</button> <button onclick="makeSmall()">缩小</button> <button onclick="makeNormal()">普通</button> <br> <video id="video1" width="420"> <source src="mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video 标签。 </video> </div> <script> var myVideo=document.getElementById("video1"); function playPause() { if (myVideo.paused) myVideo.play(); else myVideo.pause(); } function makeBig() { myVideo.width=600; } function makeSmall() { myVideo.width=320; } function makeNormal() { myVideo.width=420; } </script> </body> </html>
#下一節