HTML 音訊(Audio)

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


問題以及解決方法

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

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

在本章,入門教程為您總結了問題和解決方法。


使用外掛

瀏覽器外掛是一種擴充套件瀏覽器標準功能的小型計算機程式。

外掛可以使用 <object> 標籤 或者 <embed> 標籤新增在頁面上.

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


使用 <embed> 元素

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

下面的程式碼片段能夠顯示嵌入網頁中的 MP3 檔案:

例項

<embed height="50" width="100" src="https://www.itread01.com/html/horse.mp3">

嘗試一下 ?

問題:

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

使用 <object> 元素

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

下面的程式碼片段能夠顯示嵌入網頁中的 MP3 檔案:

例項

<object height="50" width="100" data="https://www.itread01.com/html/horse.mp3"></object>

嘗試一下 ?

問題:

  • 不同的瀏覽器對音訊格式的支援也不同。
  • 如果瀏覽器不支援該檔案格式,沒有外掛的話就無法播放該音訊。
  • 如果使用者的計算機未安裝外掛,無法播放音訊。
  • 如果把該檔案轉換為其他格式,仍然無法在所有瀏覽器中播放。

使用 HTML5 <audio> 元素

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

The <audio> element works in all modern browsers.

瀏覽器相容

格中的數字表示支援該屬性的第一個瀏覽器版本號。

元素
<audio> 4.0 9.0 3.5 4.0 10.5

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

例項

<audio controls>
<source src="https://www.itread01.com/html/horse.mp3" type="audio/mpeg">
<source src="https://www.itread01.com/html/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="https://www.itread01.com/html/horse.mp3" type="audio/mpeg">
<source src="https://www.itread01.com/html/horse.ogg" type="audio/ogg">
<embed height="50" width="100" src="https://www.itread01.com/html/horse.mp3">
</audio>

嘗試一下 ?

問題:

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

使用超連結

如果網頁包含指向媒體檔案的超連結,大多數瀏覽器會使用"輔助應用程式"來播放檔案。

以下程式碼片段顯示指向 mp3 檔案的連結。如果使用者點選該連結,瀏覽器會啟動"輔助應用程式"來播放該檔案:

例項

<a href="https://www.itread01.com/html/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>)