HTML5 網頁音頻和視頻( 和 )

HTML5 特性,包括原生音頻和視頻支持而無需 Flash。
HTML5 新添加 和 標籤讓我們給站點添加媒體變得簡單。我們只需要設置 src 屬性來識別媒體資源,包含 controls 屬性讓用戶可以播放和暫停媒體。

嵌入視頻

下面是在 Web 頁面中嵌入視頻文件最簡單的形式:

XML/HTML 
<video src="foo.mp4"  width="300" height="200" controls>  
    Your browser does not support the <video> element.      
</video>  

目前的 HTML5 規範草案還沒有指定瀏覽器應該在 video 標籤中支持哪種視頻格式。但是最常用的視頻格式是:
Ogg:帶有 Thedora 視頻編碼器和 Vorbis 音頻編碼器的 Ogg 文件。
mpeg4:帶有 H.264 視頻編碼器和 AAC 音頻編碼器的 MPEG4 文件。
我們可以使用帶有媒體類型和其他屬性的 標籤指定媒體文件。video 元素允許使用多個 source 元素,瀏覽器會使用第一個認可的格式:

XML/HTML
<!DOCTYPE HTML>  
<html>  
<body>  
   <video  width="300" height="200" controls autoplay>  
       <source src="/html5/foo.ogg" type="video/ogg" />  
       <source src="/html5/foo.mp4" type="video/mp4" />  
       Your browser does not support the <video> element.   
   </video>  
</body>  
</html> 

Video 屬性規範
HTML5 video 標籤可以使用多個屬性控制外觀和感覺以及各種控制功能:
屬性 描述
autoplay 如果指定這個布爾值屬性,只要沒有停止加載數據,視頻就會立刻開始自動播放。
autobuffer 如果指定這個布爾值屬性,即使沒有設置自動播放,視頻也會自動開始緩衝。
controls 如果指定這個屬性,就允許用戶控制視頻播放,包括音量控制,快進,暫停或者恢復播放。
height 這個屬性以 CSS 像素的形式指定視頻顯示區域的高度。
loop 如果指定這個布爾值屬性,表示允許播放結束後自動回放。
preload 指定這個屬性,視頻會在載入頁面時加載並準備就緒。如果指定自動播放則忽略。
poster 這是一個圖像 URL,顯示到用戶播放或快進。
src 要嵌入的視頻 URL。可選,可以在 video 塊中使用 元素替代來指定要嵌入的視頻。
width 這個屬性以 CSS 像素的形式指定視頻顯示區域的寬度。

嵌入音頻

HTML5 支持的 標籤用於在如下所示的 HTML 或 XHTML 文檔中嵌入語音XML/HTML
Your browser does not support the element. HTML 草案規範還沒有指定瀏覽器應該在 audio 標籤中支持哪種音頻格式。但是最常用的音頻格式是 ogg,mp3 和 wav。
我們可以使用帶媒體類型以及其他屬性的的 標籤指定媒體。Audio 元素允許使用多個 source 元素,並且瀏覽器會使用第一個認可的格式:

XML/HTML
<!DOCTYPE HTML>  
<html>  
<body>  
   <audio controls autoplay>  
       <source src="/html5/audio.ogg" type="audio/ogg" />  
       <source src="/html5/audio.wav" type="audio/wav" />  
       Your browser does not support the <audio> element.   
   </audio>  
</body>  
</html>  

Audio 屬性規範
HTML5 audio 標籤可以使用多個屬性來控制外觀,感受以及各種控制功能:
屬性 描述
autoplay 如果指定這個布爾值屬性,只要沒停止加載數據,音頻就會立刻自動開始播放。
autobuffer 如果指定這個布爾值屬性,即使沒有設置自動播放,音頻也會自動開始緩衝。
controls 如果指定這個屬性,表示允許用戶控制音頻播放,包括音量控制,快進以及暫停/恢復播放。
loop 如果指定這個布爾值屬性,表示允許音頻播放結束後自動回放。
preload 這個屬性指定加載頁面時加載音頻並準備就緒。如果指定自動播放則忽略。
src 要嵌入的音頻 URL。可選,可以在音頻塊裏面使用 元素指定要嵌入的音頻來替代。

處理媒體事件

HTML5 audio 和 video 標籤可以用多個屬性利用 JavaScript 控制各種控制功能:
事件 描述
abort 播放中止時生成這個事件。
canplay 足夠的數據可用並且媒體可以播放時生成這個事件。
ended 播放完成時生成這個事件。
error 發生錯誤時生成這個事件。
loadeddata 媒體第一幀載入完成時生成這個事件。
loadstart 開始加載媒體時生成這個事件。
pause 播放暫停時生成這個事件。
play 播放開始或者恢復時生成這個事件。
progress 定期通知媒體下載進度時生成這個事件。
ratechange 播放速度改變時生成這個事件。
seeked 快進操作完成時生成這個事件。
seeking 快進操作開始時生成這個事件。
suspend 媒體加載被暫停時生成這個事件。
volumechange 音頻音量變化時生成這個事件。
waiting 請求操作(比如播放)被延遲,等待另一個操作完成(比如快進)時生成這個事件。

下面是一個允許播放給定視頻的示例:

XML/HTML 
<!DOCTYPE HTML>  
<head>  
<script type="text/javascript">  
function PlayVideo(){   
   var v = document.getElementsByTagName("video")[0];     
   v.play();    
}   
</script>  
</head>  
<html>  
<body>  
   <form>  
   <video  width="300" height="200" src="/html5/foo.mp4">  
       Your browser does not support the <video> element.   
   </video>  
   <input type="button" onclick="PlayVideo();"  value="Play"/>  
   </form>  
</body>  
</html> 

配置服務器媒體類型
大多數服務器默認都沒使用正確的 MIME 類型提供 Ogg 或 mp4 媒體,因此我們可能需要添加適當的配置。

複製代碼
代碼如下:
AddType audio/ogg .oga
AddType audio/wav .wav
AddType video/ogg .ogv .ogg
AddType video/mp4 .mp4

引入視頻、音頻的無需考慮 兼容性的方法

使用JS提供的第三方類庫

(筆記整合來源於與腳本之家)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章