HTML 音頻-6.3HTML 媒體

閱讀 ?·? 發(fā)布日期 2019-07-11 12:43 ?·? admin

在 HTML 中播放聲音的方法有很多種。

問題,問題,以及解決方法

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

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

在本章,W3School 為您總結(jié)了問題和解決方法。

使用插件

瀏覽器插件是一種擴(kuò)展瀏覽器標(biāo)準(zhǔn)功能的小型計(jì)算機(jī)程序。

插件有很多用途:播放音樂、顯示地圖、驗(yàn)證銀行賬號(hào),控制輸入等等。

可使用 <object> 或 <embed> 標(biāo)簽來將插件添加到 HTML 頁面。

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

使用 <embed> 元素

<embed> 標(biāo)簽定義外部(非 HTML)內(nèi)容的容器。(這是一個(gè) HTML5 標(biāo)簽,在 HTML4 中是非法的,但是所有瀏覽器中都有效)。

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

實(shí)例

<embed height="100" width="100" src="song.mp3" />

問題:

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

注釋:使用 <!DOCTYPE html> (HTML5) 解決驗(yàn)證問題。

使用 <object> 元素

<object tag> 標(biāo)簽也可以定義外部(非 HTML)內(nèi)容的容器。

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

實(shí)例

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

問題:

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

使用 HTML5 <audio> 元素

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

實(shí)例

<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>

上面的例子使用了一個(gè) mp3 文件,這樣它在 Internet Explorer、Chrome 以及 Safari 中是有效的。

為了使這段音頻在 Firefox 和 Opera 中同樣有效,添加了一個(gè) ogg 類型的文件。如果失敗,會(huì)顯示錯(cuò)誤消息。

問題:

  • <audio> 標(biāo)簽在 HTML 4 中是無效的。您的頁面無法通過 HTML 4 驗(yàn)證。
  • 您必須把音頻文件轉(zhuǎn)換為不同的格式。
  • <audio> 元素在老式瀏覽器中不起作用。

注釋:使用 <!DOCTYPE html> (HTML5) 解決驗(yàn)證問題。

最好的 HTML 解決方法

實(shí)例

<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>

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

問題:

  • 您必須把音頻轉(zhuǎn)換為不同的格式。
  • <audio> 元素?zé)o法通過 HTML 4 和 XHTML 驗(yàn)證。
  • <embed> 元素?zé)o法通過 HTML 4 和 XHTML 驗(yàn)證。
  • <embed> 元素?zé)o法回退來顯示錯(cuò)誤消息。

注釋:使用 <!DOCTYPE html> (HTML5) 解決驗(yàn)證問題。

向網(wǎng)站添加音頻的最簡(jiǎn)單方法

向網(wǎng)頁添加音頻的最簡(jiǎn)單的方法是什么?

雅虎的媒體播放器絕對(duì)算其中之一。

使用雅虎媒體播放器是一個(gè)不同的途徑。您只需簡(jiǎn)單地讓雅虎來完成歌曲播放的工作就好了。

它能播放 mp3 以及一系列其他格式。通過一行簡(jiǎn)單的代碼,您就可以把它添加到網(wǎng)頁中,輕松地將 HTML 頁面轉(zhuǎn)變?yōu)閷I(yè)的播放列表。

雅虎媒體播放器

實(shí)例

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

<script type="text/javascript" src="http://mediaplayer.yahoo.com/js">
</script>

使用雅虎播放器是免費(fèi)的。如需使用它,您需要把這段 JavaScript 插入網(wǎng)頁底部:

<script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>

然后只需簡(jiǎn)單地把 MP3 文件鏈接到您的 HTML 中,JavaScript 會(huì)自動(dòng)地為每首歌創(chuàng)建播放按鈕:

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

雅虎媒體播放器為您的用戶提供的是一個(gè)小型的播放按鈕,而不是完整的播放器。不過,當(dāng)您點(diǎn)擊該按鈕,會(huì)彈出完整的播放器。

請(qǐng)注意,這個(gè)播放器始終??吭诖翱虻撞俊V恍椟c(diǎn)擊它,就可將其滑出。

使用超鏈接

如果網(wǎng)頁包含指向媒體文件的超鏈接,大多數(shù)瀏覽器會(huì)使用“輔助應(yīng)用程序”來播放文件。

以下代碼片段顯示指向 mp3 文件的鏈接。如果用戶點(diǎn)擊該鏈接,瀏覽器會(huì)啟動(dòng)“輔助應(yīng)用程序”來播放該文件:

實(shí)例

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

內(nèi)聯(lián)的聲音

當(dāng)您在網(wǎng)頁中包含聲音,或者作為網(wǎng)頁的組成部分時(shí),它被稱為內(nèi)聯(lián)聲音。

如果您打算在 web 應(yīng)用程序中使用內(nèi)聯(lián)聲音,您需要意識(shí)到很多人都覺得內(nèi)聯(lián)聲音令人惱火。同時(shí)請(qǐng)注意,用戶可能已經(jīng)關(guān)閉了瀏覽器中的內(nèi)聯(lián)聲音選項(xiàng)。

我們最好的建議是只在用戶希望聽到內(nèi)聯(lián)聲音的地方包含它們。一個(gè)正面的例子是,在用戶需要聽到錄音并點(diǎn)擊某個(gè)鏈接時(shí),會(huì)打開頁面然后播放錄音。

HTML 4.01 多媒體標(biāo)簽

標(biāo)簽 描述
<applet> 不贊成。定義內(nèi)嵌 applet。
<embed> HTML4 中不贊成,HTML5 中允許。定義內(nèi)嵌對(duì)象。
<object> 定義內(nèi)嵌對(duì)象。
<param> 定義對(duì)象的參數(shù)。

HTML 5 多媒體標(biāo)簽

標(biāo)簽 描述
<audio> 標(biāo)簽定義聲音,比如音樂或其他音頻流。
<embed> 標(biāo)簽定義嵌入的內(nèi)容,比如插件。