Latest web development tutorials

HTML 音頻(Audio)

聲音在HTML中可以以不同的方式播放.


問題以及解決方法

在HTML 中播放音頻並不容易!

您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。

在本章,W3CSchool 為您總結了問題和解決方法。


使用插件

瀏覽器插件是一種擴展瀏覽器標準功能的小型計算機程序。

插件可以使用<object> 標籤或者<embed> 標籤添加在頁面上.

這些標籤定義資源(通常非HTML 資源)的容器,根據類型,它們即會由瀏覽器顯示,也會由外部插件顯示。


使用<embed> 元素

<embed>標籤定義外部(非HTML)內容的容器。 (這是一個HTML5 標籤,在HTML4 中是非法的,但是所有瀏覽器中都有效)。

下面的代碼片段能夠顯示嵌入網頁中的MP3 文件:

實例

<embed height="50" width="100" src="horse.mp3">

嘗試一下»

問題:

  • <embed> 標籤在HTML 4 中是無效的。 頁面無法通過HTML 4 驗證。
  • 不同的瀏覽器對音頻格式的支持也不同。
  • 如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
  • 如果用戶的計算機未安裝插件,無法播放音頻。
  • 如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。

使用<object> 元素

<object tag> 標籤也可以定義外部(非HTML)內容的容器。

下面的代碼片段能夠顯示嵌入網頁中的MP3 文件:

實例

<object height="50" width="100" data="horse.mp3"></object>

嘗試一下»

問題:

  • 不同的瀏覽器對音頻格式的支持也不同。
  • 如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
  • 如果用戶的計算機未安裝插件,無法播放音頻。
  • 如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。

使用HTML5 <audio> 元素

HTML5 <audio> 元素是一個HTML5 元素,在HTML 4 中是非法的,但在所有瀏覽器中都有效。

The <audio> element works in all modern browsers.

以下我們將使用<audio> 標籤來描述MP3 文件(Internet Explorer、Chrome 以及Safari 中是有效的), 同樣添加了一個OGG 類型文件(Firefox 和Opera瀏覽器中有效).如果失敗,它會顯示一個錯誤文本信息:

實例

<audio controls>
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
Your browser does not support this audio format.
</audio>

嘗試一下»

問題:

  • <audio> 標籤在HTML 4 中是無效的。 您的頁面無法通過HTML 4 驗證。
  • 您必須把音頻文件轉換為不同的格式。
  • <audio> 元素在老式瀏覽器中不起作用。

最好的HTML 解決方法

下面的例子使用了兩個不同的音頻格式。 HTML5 <audio> 元素會嘗試以mp3 或ogg 來播放音頻。 如果失敗,代碼將回退嘗試<embed> 元素。

實例

<audio controls height="100" width="100">
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
<embed height="50" width="100" src="horse.mp3">
</audio>

嘗試一下»

問題:

  • 您必須把音頻轉換為不同的格式。
  • <embed> 元素無法回退來顯示錯誤消息。

雅虎媒體播放器- 一個簡單的添加音頻到你網站上的方式

使用雅虎播放器是免費的。 如需使用它,您需要把這段JavaScript 插入網頁底部:

雅虎播放器可以播放MP3以及其他各種格式。 你只需添加一行代碼到你的頁面或博客中就可以輕鬆地將您的HTML頁面製作成專業的播放列表:

實例

<a href="horse.mp3">Play Sound</a>

<script src="http://mediaplayer.yahoo.com/latest"></script>

嘗試一下»

如果你要使用它,您需要把這段JavaScript 插入網頁底部:

<script src="http://mediaplayer.yahoo.com/latest"></script>

然後只需簡單地把MP3 文件鏈接到您的HTML 中,JavaScript 會自動地為每首歌創建播放按鈕:

<a href="song1.mp3">Play Song 1</a>
<a href="song2.wav">Play Song 2</a>
...
...

雅虎媒體播放器為您的用戶提供的是一個小型的播放按鈕,而不是完整的播放器。 不過,當您點擊該按鈕,會彈出完整的播放器。

請注意,這個播放器始終停靠在窗框底部。 只需點擊它,就可將其滑出。


使用超鏈接

如果網頁包含指向媒體文件的超鏈接,大多數瀏覽器會使用"輔助應用程序"來播放文件。

以下代碼片段顯示指向mp3 文件的鏈接。 如果用戶點擊該鏈接,瀏覽器會啟動"輔助應用程序"來播放該文件:

實例

<a href="horse.mp3">Play the sound</a>

嘗試一下»


內聯的聲音說明

當您在網頁中包含聲音,或者作為網頁的組成部分時,它被稱為內聯聲音。

如果您打算在web 應用程序中使用內聯聲音,您需要意識到很多人都覺得內聯聲音令人惱火。 同時請注意,用戶可能已經關閉了瀏覽器中的內聯聲音選項。

我們最好的建議是只在用戶希望聽到內聯聲音的地方包含它們。 一個正面的例子是,在用戶需要聽到錄音並點擊某個鏈接時,會打開頁面然後播放錄音。


HTML 多媒體標籤

New : HTML5新標籤

标签 描述
<embed> 定义内嵌对象。HTML4 中不赞成,HTML5 中允许。
<object> 定义内嵌对象。
<param> 定义对象的参数。
<audio> New 定义了声音内容
<video> New 定义一个视频或者影片
<source> New 定义了media元素的多媒体资源(<video> 和 <audio>)
<track> New 规定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>)