在HTML 中播放音頻並不容易!
您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。
使用插件
瀏覽器插件是一種擴展瀏覽器標準功能的小型計算機程序。
插件有很多用途:播放音樂、顯示地圖、驗證銀行帳號,控制輸入等等。
可使用<object> 或<embed> 標籤來將插件添加到HTML 頁面。
這些標籤定義資源(通常非HTML 資源)的容器,根據類型,它們即會由瀏覽器顯示,也會由外部插件顯示。
使用<embed> 元素
<embed> 標籤定義外部(非HTML)內容的容器。(這是一個HTML5 標籤,在HTML4 中是非法的,但是所有瀏覽器中都有效)。
下面的代碼片段能夠顯示嵌入網頁中的MP3 文件:
實例
<embed height="100" width="100" src="song.mp3" />
問題:
- <embed> 標籤在HTML 4 中是無效的。頁面無法通過HTML 4 驗證。
- 不同的瀏覽器對音頻格式的支持也不同。
- 如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
- 如果用戶的計算機未安裝插件,無法播放音頻。
- 如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。
註釋:使用<!DOCTYPE html> (HTML5)解決驗證問題。
使用<object> 元素
<object tag> 標籤也可以定義外部(非HTML)內容的容器。
下面的代碼片段能夠顯示嵌入網頁中的MP3 文件:
實例
<object height="100" width="100" data="song.mp3"></object>
問題:
- 不同的瀏覽器對音頻格式的支持也不同。
- 如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
- 如果用戶的計算機未安裝插件,無法播放音頻。
- 如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。
使用HTML5 <audio> 元素
<audio> 元素是一個HTML5 元素,在HTML 4 中是非法的,但在所有瀏覽器中都有效。
實例
<audio controls="controls"> <source src="song.mp3" type="audio/mp3" /> <source src="song.ogg" type="audio/ogg" /> Your browser does not support this audio format. </audio>
上面的例子使用了一個mp3 文件,這樣它在Internet Explorer、Chrome 以及Safari 中是有效的。
為了使這段音頻在Firefox 和Opera 中同樣有效,添加了一個ogg 類型的文件。如果失敗,會顯示錯誤消息。
問題:
- <audio> 標籤在HTML 4 中是無效的。您的頁面無法通過HTML 4 驗證。
- 您必須把音頻文件轉換為不同的格式。
- <audio> 元素在老式瀏覽器中不起作用。
註釋:使用<!DOCTYPE html> (HTML5)解決驗證問題。
最好的 HTML解決方法
實例
<audio controls="controls" height="100" width="100"> <source src="song.mp3" type="audio/mp3" /> <source src="song.ogg" type="audio/ogg" /> <embed height="100" width="100" src="song.mp3" /> </audio>
上面的例子使用了兩個不同的音頻格式。HTML5 <audio> 元素會嘗試以mp3 或ogg 來播放音頻。如果失敗,代碼將回退嘗試<embed> 元素。
問題:
- 您必須把音頻轉換為不同的格式。
- <audio> 元素無法通過HTML 4 和XHTML 驗證。
- <embed> 元素無法通過HTML 4 和XHTML 驗證。
- <embed> 元素無法回退來顯示錯誤消息。
註釋:使用<!DOCTYPE html> (HTML5)解決驗證問題。
使用超鏈接
如果網頁包含指向媒體文件的超鏈接,大多數瀏覽器會使用“輔助應用程序”來播放文件。
以下代碼片段顯示指向mp3 文件的鏈接。如果用戶點擊該鏈接,瀏覽器會啟動“輔助應用程序”來播放該文件:
實例
<a href="song.mp3">Play the sound</a>
內聯的聲音
當您在網頁中包含聲音,或者作為網頁的組成部分時,它被稱為內聯聲音。
如果您打算在web 應用程序中使用內聯聲音,您需要意識到很多人都覺得內聯聲音令人惱火。同時請注意,用戶可能已經關閉了瀏覽器中的內聯聲音選項。
我們最好的建議是只在用戶希望聽到內聯聲音的地方包含它們。一個正面的例子是,在用戶需要聽到錄音並點擊某個鏈接時,會打開頁面然後播放錄音。
HTML 4.01 多媒體標籤
標籤 | 描述 |
---|---|
<applet> | 不贊成。定義內嵌applet。 |
<embed> | HTML4 中不贊成,HTML5 中允許。定義內嵌對象。 |
<object> | 定義內嵌對象。 |
<param> | 定義對象的參數。 |
HTML 5 多媒體標籤
標籤 | 描述 |
---|---|
<audio> | 標籤定義聲音,比如音樂或其他音頻流。 |
<embed> | 標籤定義嵌入的內容,比如插件。 |
留言列表