# HTML 音頻
**在 HTML 中播放聲音的方法有很多種。**
## 問題,問題,以及解決方法
在 HTML 中播放音頻并不容易!
您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。
在本章,W3School 為您總結了問題和解決方法。
## 使用插件
瀏覽器插件是一種擴展瀏覽器標準功能的小型計算機程序。
插件有很多用途:播放音樂、顯示地圖、驗證銀行賬號,控制輸入等等。
可使用 <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 以及一系列其他格式。通過一行簡單的代碼,您就可以把它添加到網頁中,輕松地將 HTML 頁面轉變為專業的播放列表。
## 雅虎媒體播放器
### 實例
```
<a href="song.mp3">Play Sound</a>
<script type="text/javascript" src="http://mediaplayer.yahoo.com/js">
</script>
```
使用雅虎播放器是免費的。如需使用它,您需要把這段 JavaScript 插入網頁底部:
```
<script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>
```
然后只需簡單地把 MP3 文件鏈接到您的 HTML 中,JavaScript 會自動地為每首歌創建播放按鈕:
```
<a href="song1.mp3">Play Song 1</a>
<a href="song2.mp3">Play Song 2</a>
...
...
...
```
雅虎媒體播放器為您的用戶提供的是一個小型的播放按鈕,而不是完整的播放器。不過,當您點擊該按鈕,會彈出完整的播放器。
請注意,這個播放器始終停靠在窗框底部。只需點擊它,就可將其滑出。
## 使用超鏈接
如果網頁包含指向媒體文件的超鏈接,大多數瀏覽器會使用“輔助應用程序”來播放文件。
以下代碼片段顯示指向 mp3 文件的鏈接。如果用戶點擊該鏈接,瀏覽器會啟動“輔助應用程序”來播放該文件:
### 實例
```
<a href="song.mp3">Play the sound</a>
```
## 內聯的聲音
當您在網頁中包含聲音,或者作為網頁的組成部分時,它被稱為內聯聲音。
如果您打算在 web 應用程序中使用內聯聲音,您需要意識到很多人都覺得內聯聲音令人惱火。同時請注意,用戶可能已經關閉了瀏覽器中的內聯聲音選項。
我們最好的建議是只在用戶希望聽到內聯聲音的地方包含它們。一個正面的例子是,在用戶需要聽到錄音并點擊某個鏈接時,會打開頁面然后播放錄音。
## HTML 4.01 多媒體標簽
| 標簽 | 描述 |
| --- | --- |
| [`<applet>`](/tags/tag_applet.asp "HTML <applet> 標簽") | 不贊成。定義內嵌 applet。 |
| `<embed>` | HTML4 中不贊成,HTML5 中允許。定義內嵌對象。 |
| [`<object>`](/tags/tag_object.asp "HTML <object> 標簽") | 定義內嵌對象。 |
| [`<param>`](/tags/tag_param.asp "HTML <param> 標簽") | 定義對象的參數。 |
## HTML 5 多媒體標簽
| 標簽 | 描述 |
| --- | --- |
| [`<audio>`](/tags/tag_audio.asp "HTML <audio> 標簽") | 標簽定義聲音,比如音樂或其他音頻流。 |
| [`<embed>`](/tags/tag_embed.asp "HTML <embed> 標簽") | 標簽定義嵌入的內容,比如插件。 |
- HTML 基礎
- HTML 簡介
- 基本的 HTML 標簽 - 四個實例
- HTML 元素
- HTML 屬性
- HTML 標題
- HTML 段落
- HTML 文本格式化
- HTML 編輯器
- HTML CSS
- HTML 鏈接
- HTML 圖像
- HTML 表格
- HTML 列表
- HTML <div> 和 <span>
- HTML 布局
- HTML 表單和輸入
- HTML 框架
- HTML Iframe
- HTML 背景
- HTML 顏色
- HTML 顏色名
- HTML 4.01 快速參考
- HTML 高級
- HTML <!DOCTYPE>
- HTML 頭部元素
- HTML 腳本
- HTML 字符實體
- HTML 統一資源定位器
- HTML URL 字符編碼
- HTML Web Server
- HTML 媒體
- HTML 多媒體
- HTML Object 元素
- HTML 音頻
- HTML 視頻
- HTML XHTML
- XHTML 簡介
- XHTML - 元素
- XHTML - 屬性
- HTML 5 教程
- HTML 5 簡介
- HTML 5 視頻
- HTML 5 Video + DOM
- HTML 5 音頻
- HTML 5 拖放
- HTML 5 Canvas
- HTML5 內聯 SVG
- HTML 5 Canvas vs. SVG
- HTML5 地理定位
- HTML 5 Web 存儲
- HTML 5 應用程序緩存
- HTML 5 Web Workers
- HTML 5 服務器發送事件
- HTML5 Input 類型
- HTML5 表單元素
- HTML5 表單屬性
- CSS 基礎
- CSS 簡介
- CSS 基礎語法
- CSS 高級語法
- CSS 派生選擇器
- CSS id 選擇器
- CSS 類選擇器
- CSS 屬性選擇器
- 如何創建 CSS
- CSS 樣式
- CSS 背景
- CSS 文本
- CSS 字體
- CSS 鏈接
- CSS 列表
- CSS 表格
- CSS 輪廓
- CSS 框模型
- CSS 框模型概述
- CSS 內邊距
- CSS 邊框
- CSS 外邊距
- CSS 外邊距合并
- CSS 定位
- CSS 定位 (Positioning)
- CSS 相對定位
- CSS 絕對定位
- CSS 浮動
- CSS 選擇器
- CSS 元素選擇器
- CSS 分組
- CSS 類選擇器詳解
- CSS ID 選擇器詳解
- CSS 屬性選擇器詳解
- CSS 后代選擇器
- CSS 屬性選擇器詳解
- CSS 后代選擇器
- CSS 子元素選擇器
- CSS 相鄰兄弟選擇器
- CSS 偽類 (Pseudo-classes)
- CSS 偽元素 (Pseudo-elements)
- CSS 高級
- CSS 水平對齊
- CSS 尺寸 (Dimension)
- CSS 分類 (Classification)
- CSS 導航條
- CSS 圖片庫
- CSS 圖像透明度
- CSS2 媒介類型
- CSS 注意事項
- CSS3 教程
- CSS3 簡介
- CSS3 邊框
- CSS3 背景
- CSS3 文本效果
- CSS3 字體
- CSS3 2D 轉換
- CSS3 3D 轉換
- CSS3 過渡
- CSS3 動畫
- CSS3 多列
- CSS3 用戶界面
- Firebug 教程
- Firebug 教程
- 使用Firebug查看和編輯HTML和CSS
- 使用 Firebug 調試 JavaScript
- Firebug頁面概況查看
- Firebug動態執行JavaScript
- Firebug記錄Javascript日志
- Firebug監控網絡情況
- 免責聲明