現在如果要在頁面中使用video標簽,需要考慮三種情況,支持Ogg Theora或者VP8(如果這玩意兒沒出事的話)的(Opera、Mozilla、Chrome),支持H.264的(Safari、IE 9、Chrome),都不支持的(IE6、7、8)。好吧,現在讓我們從技術層面來認識HTML 5的視頻,包括video標簽的使用,視頻對象可以用到的媒介屬性和方法,以及媒介事件。
Video標簽的使用
Video標簽含有src、poster、preload、autoplay、loop、controls、width、height等幾個屬性, 以及一個內部使用的標簽<source>。Video標簽內除了可以包含<source>標簽外,還可以包含當指定的視頻都不能 播放時,返回的內容。
(1) src屬性和poster屬性
你能想象src屬性是用來干啥的。跟<img>標簽的一樣,這個屬性用于指定視頻的地址。而poster屬性用于指定一張圖片,在當前視頻數據無效時顯示(預覽圖)。視頻數據無效可能是視頻正在加載,可能是視頻地址錯誤等等。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay"></video> |
(2) preload屬性
這個屬性也能通過名字了解用處,此屬性用于定義視頻是否預加載。屬性有三個可選擇的值:none、metadata、auto。如果不使用此屬性,默認為auto。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none"></video> |
None:不進行預加載。使用此屬性值,可能是頁面制作者認為用戶不期望此視頻,或者減少HTTP請求。
Metadata:部分預加載。使用此屬性值,代表頁面制作者認為用戶不期望此視頻,但為用戶提供一些元數據(包括尺寸,第一幀,曲目列表,持續時間等等)。
Auto:全部預加載。
(3) autoplay屬性
又是一個看名字知道用處的屬性。Autoplay屬性用于設置視頻是否自動播放,是一個布爾屬性。當出現時,表示自動播放,去掉是表示不自動播放。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none"></video> |
注意,HTML中布爾屬性的值不是true和false。正確的用法是,在標簽中使用此屬性表示true,此時屬性要么沒有值,要么其值恒等于他的名字 (此處,自動播放為<video autoplay />或者<video autoplay=”autoplay” />);而在標簽中不使用此屬性表示false(此處不進行自動播放為<video />)。
新聞熱點
疑難解答
圖片精選