HTML5 video audio 元素詳解
Web 上的視訊和音訊
直到現在,仍然不存在一項旨在網頁上顯示視訊和音訊的標準。
今天,大多數視訊和音訊是通過外掛(比如 Flash)來顯示的。然而,並非所有瀏覽器都擁有同樣的外掛。
HTML5 規定了一種通過 video 元素來包含視訊audio元素來包含音訊的標準方法。
視訊格式
當前,video 元素支援三種視訊格式:
格式 | IE | Firefox | Opera | Chrome | Safari |
---|---|---|---|---|---|
Ogg | No | 3.5+ | 10.5+ | 5.0+ | No |
MPEG 4 | 9.0+ | No | No | 5.0+ | 3.0+ |
WebM | No | 4.0+ | 10.6+ | 6.0+ | No |
Ogg = 帶有 Theora 視訊編碼和 Vorbis 音訊編碼的 Ogg 檔案
MPEG4 = 帶有 H.264 視訊編碼和 AAC 音訊編碼的 MPEG 4 檔案
WebM = 帶有 VP8 視訊編碼和 Vorbis 音訊編碼的 WebM 檔案
如需在 HTML5 中播放視訊,您所有需要的是:
<video src="movie.ogg" controls="controls">
</video>
control 屬性供新增播放、暫停和音量控制元件。
瀏覽器相容:<video> 與 </video> 之間插入的內容是供不支援 video元素的瀏覽器顯示的。
上面的例子使用一個 Ogg 檔案,適用於Firefox、Opera 以及 Chrome 瀏覽器。
要確保適用於 Safari 瀏覽器,視訊檔案必須是 MPEG4 型別。
video 元素允許多個 source 元素。source 元素可以連結不同的視訊檔案。瀏覽器將使用第一個可識別的格式:
<video width="320" height="240" controls="controls">
<source src="movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<video> 標籤的屬性
屬性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 如果出現該屬性,則視訊在就緒後馬上播放。 |
controls | controls | 如果出現該屬性,則向使用者顯示控制元件,比如播放按鈕。 |
height | pixels | 設定視訊播放器的高度。 |
loop | loop | 如果出現該屬性,則當媒介檔案完成播放後再次開始播放。 |
preload | preload | 如果出現該屬性,則視訊在頁面載入時進行載入,並預備播放。 如果使用 "autoplay",則忽略該屬性。 |
src | url | 要播放的視訊的 URL。 |
width | pixels | 設定視訊播放器的寬度。 |
HTML5 <video> - 使用 DOM 進行控制
HTML5 <video> 元素同樣擁有方法、屬性和事件。
其中的方法用於播放、暫停以及載入等。其中的屬性(比如時長、音量等)可以被讀取或設定。其中的 DOM 事件能夠通知您,比方說,<video> 元素開始播放、已暫停,已停止,等等。
為視訊建立簡單的播放/暫停以及調整尺寸控制元件:
<!DOCTYPE html>
<html>
<body>
<div style="text-align:center;">
<button onclick="playPause()">播放/暫停</button>
<button onclick="makeBig()">大</button>
<button onclick="makeNormal()">中</button>
<button onclick="makeSmall()">小</button>
<br />
<video id="video1" width="420" style="margin-top:15px;">
<source src="/example/html5/mov_bbb.mp4" type="video/mp4" />
<source src="/example/html5/mov_bbb.ogg" type="video/ogg" />
Your browser does not support HTML5 video.
</video>
</div>
<script type="text/javascript">
var myVideo=document.getElementById("video1");
function playPause()
{
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
function makeBig()
{
myVideo.width=560;
}
function makeSmall()
{
myVideo.width=320;
}
function makeNormal()
{
myVideo.width=420;
}
</script>
</body>
</html>
上面的例子呼叫了兩個方法:play() 和 pause()。它同時使用了兩個屬性:paused 和 width。
HTML5 <video> - 方法、屬性以及事件
下面列出了大多數瀏覽器支援的視訊方法、屬性和事件:
方法 | 屬性 | 事件 |
---|---|---|
play() | currentSrc | play |
pause() | currentTime | pause |
load() | videoWidth | progress |
canPlayType | videoHeight | error |
duration | timeupdate | |
ended | ended | |
error | abort | |
paused | empty | |
muted | emptied | |
seeking | waiting | |
volume | loadedmetadata | |
height | ||
width |
註釋:在所有屬性中,只有 videoWidth 和 videoHeight 屬性是立即可用的。在視訊的後設資料已載入後,其他屬性才可用。
音訊格式
當前,audio 元素支援三種音訊格式:
IE 9 | Firefox 3.5 | Opera 10.5 | Chrome 3.0 | Safari 3.0 | |
---|---|---|---|---|---|
Ogg Vorbis | √ | √ | √ | ||
MP3 | √ | √ | √ | ||
Wav | √ | √ | √ |
如需在 HTML5 中播放音訊,您所有需要的是:
<audio src="song.ogg" controls="controls">
</audio>
control 屬性供新增播放、暫停和音量控制元件。
瀏覽器相容:<audio> 與 </audio> 之間插入的內容是供不支援 audio 元素的瀏覽器顯示的。
上面的例子使用一個 Ogg 檔案,適用於Firefox、Opera 以及 Chrome 瀏覽器。
要確保適用於 Safari 瀏覽器,音訊檔案必須是 MP3 或 Wav 型別。
audio 元素允許多個 source 元素。source 元素可以連結不同的音訊檔案。瀏覽器將使用第一個可識別的格式:
例項
<audio controls="controls">
<source src="song.ogg" type="audio/ogg">
<source src="song.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
<audio> 標籤的屬性
屬性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 如果出現該屬性,則音訊在就緒後馬上播放。 |
controls | controls | 如果出現該屬性,則向使用者顯示控制元件,比如播放按鈕。 |
loop | loop | 如果出現該屬性,則每當音訊結束時重新開始播放。 |
preload | preload | 如果出現該屬性,則音訊在頁面載入時進行載入,並預備播放。 如果使用 "autoplay",則忽略該屬性。 |
src | url | 要播放的音訊的 URL。 |
參考文獻:
http://www.w3school.com.cn/tags/tag_video.asp
http://www.w3school.com.cn/html5/html_5_video_dom.asp
http://www.w3school.com.cn/tags/tag_audio.asp
相關文章
- HTML5 Audio & Video 屬性解析HTMLIDE
- HTML5 Audio & Video - 相容性總結(一)HTMLIDE
- Native Audio and Native VideoIDE
- ffmpeg Video and Audio grabbingIDE
- html5 audio整理HTML
- 初識HTML5 Web Audio APIHTMLWebAPI
- HTML5 Audio(音訊)簡介HTML音訊
- HTML5 Canvas 詳解HTMLCanvas
- HTML5中Audio使用踩坑彙總HTML
- HTML5的新特性——語義化標籤、多媒體標籤(video、audio)、input型別、表單屬性HTMLIDE型別
- html5的video如何附帶字幕?HTMLIDE
- 【譯】Chrome 73版本關於Audio/Video的更新ChromeIDE
- HTML——② HTML 元素、屬性詳解HTML
- HTML5常見標籤詳解HTML
- 從Chrome原始碼看audio/video流媒體實現二Chrome原始碼IDE
- css元素層疊順序詳解CSS
- HTML5原生拖拽/拖放 Drag & Drop 詳解HTML
- HTML5中dialog元素嚐鮮HTML
- CSS偽元素詳解以及偽元素與偽類的區別CSS
- 詳解選擇html5建站的優勢HTML
- HTML5 video視訊字幕的使用和製作HTMLIDE
- WebView 視訊全屏播放(基於Html5 video)WebViewHTMLIDE
- HTML5如何監聽video的全屏和退出全屏?HTMLIDE
- Hibernate配置檔案中對映元素詳解
- HTML5標籤HTMLCollection和NodeList的區別詳解HTML
- HTML5離線儲存Manifest原理及使用詳解HTML
- HTML5本地儲存localStorage與sessionStorage詳解HTMLSession
- HTML5的video在有的移動端裝置無法自動播放?怎麼解決?HTMLIDE
- html5中canvas元素建立畫布介紹HTMLCanvas
- 基於 HTML5 Canvas 的元素週期表展示HTMLCanvas
- 【HTML5】記錄一下學習HTML5的一些新元素------(1)HTML
- 好程式設計師web前端分享HTML5 video事件應用示例程式設計師Web前端HTMLIDE事件
- HTML5網頁中iframe與window.onload如何使用詳解HTML網頁
- chrome升級後audio不能播放解決Chrome
- 基於 HTML5 Canvas 的元素週期表的展示HTMLCanvas
- Html5 canvas中width、height和style的寬高區別詳解HTMLCanvas
- jQuery點選頁面其他地方隱藏指定元素詳解jQuery
- XML Schema 複雜元素型別詳解:定義及示例解析XML型別