HTML 音訊(Audio)
聲音在HTML中可以以不同的方式播放.
問題以及解決方法
#在HTML 中播放音訊並不容易!
您需要諳熟大量技巧,以確保您的音訊檔案在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬體上(PC, Mac , iPad, iPhone)都能夠播放。
在本章,PHP中文網(php.cn) 為您總結了問題和解決方法。
使用外掛
瀏覽器外掛程式是一種擴展瀏覽器標準功能的小型電腦程式。
外掛程式可以使用<object> 標籤或<embed> 標籤添加在頁面上.
這些標籤定義資源(通常非HTML 資源)的容器,根據類型,它們即會由瀏覽器顯示,也會由外部插件顯示。
#使用<embed> 元素
<embed>標籤定義外部(非HTML)內容的容器。 (這是一個 HTML5 標籤,在 HTML4 中是非法的,但是所有瀏覽器中都有效)。
下面的程式碼片段能夠顯示嵌入網頁中的MP3 檔案:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <embed height="50" width="100" src="horse.mp3"> <p>如果你无法听到该音频,那么可能你的电脑或浏览器不支持该文件格式。</p> <p>或者你没有打开扬声器。</p> </embed> </body> </html>
你在本地找一段mp3格式的音頻,將src="horse.mp3"換成你的mp3文件,再開啟網頁試試看
問題:
<embed> 標籤在HTML 4 中是無效的。頁面無法通過 HTML 4 驗證。
不同的瀏覽器對音訊格式的支援也不同。
如果瀏覽器不支援該檔案格式,沒有外掛程式的話就無法播放該音訊。
如果使用者的電腦未安裝插件,無法播放音訊。
如果把該檔案轉換成其他格式,仍然無法在所有瀏覽器中播放。
使用 <object> 元素
<object tag> 標籤也可以定義外部(非 HTML)內容的容器。
下面的程式碼片段能夠顯示嵌入網頁中的MP3 檔案:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <object height="100" width="300" data="Kalimba.mp3"></object> <p>如果你无法听到该音频,那么可能你的电脑或浏览器不支持该文件格式。</p> <p>或者你没有打开扬声器。</p> </body> </html>
你在本地找一段mp3格式的音頻,將src="horse.mp3"換成你的mp3文件,再開啟網頁試試看
問題:
#不同的瀏覽器對音訊格式的支持也不同。
如果瀏覽器不支援該檔案格式,沒有外掛程式的話就無法播放該音訊。
如果使用者的電腦未安裝插件,無法播放音訊。
如果把該檔案轉換成其他格式,仍然無法在所有瀏覽器中播放。
使用HTML5 <audio> 元素
HTML5 <audio> 元素是一個HTML5 元素,在HTML 4 中是非法的,但在所有瀏覽器中都有效。
The <audio> element works in all modern browsers.
以下我們將使用<audio> 標籤來描述MP3 檔案(Internet Explorer、Chrome 以及Safari 中是有效的),同樣添加了一個OGG 類型文件(Firefox 和Opera瀏覽器中有效).如果失敗,它會顯示一個錯誤文本信息:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <audio controls> <source src="horse.mp3" type="audio/mpeg"> <source src="horse.ogg" type="audio/ogg"> 您的浏览器不支持该音频格式。 </audio> </body> </html>
如果你的瀏覽器不支持音頻格式將會輸出“你的瀏覽器不支援該音訊格式」這段話,否則反之
問題:
<audio>標籤在HTML 4 中是無效的。您的頁面無法通過 HTML 4 驗證。
您必須把音訊檔案轉換為不同的格式。
<audio> 元素在老式瀏覽器中不起作用。
最好的 HTML 解決方法
#下面的範例使用了兩個不同的音訊格式。 HTML5 <audio> 元素會嘗試以 mp3 或 ogg 來播放音訊。如果失敗,程式碼將回退嘗試 <embed> 元素。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <audio controls> <source src="horse.mp3" type="audio/mpeg"> <source src="horse.ogg" type="audio/ogg"> <embed height="50" width="100" src="horse.mp3"> </audio> </body> </html>
將src換成你本地的音訊試試看
#問題:
##您必須把音訊轉換為不同的格式。 <embed> 元素無法回退來顯示錯誤訊息。雅虎媒體播放器- 一個簡單的添加音訊到你網站上的方式
雅虎媒體播放器為您的用戶提供的是一個小型的播放按鈕,而不是完整的播放器。不過,當您點擊該按鈕,會彈出完整的播放器。 請注意,這個播放器總是停靠在窗框底部。只需點擊它,就可將其滑出。 使用雅虎播放器是免費的。如需使用它,您需要把這段 JavaScript 插入網頁底部:雅虎播放器可以播放MP3以及其他各種格式。你只需添加一行程式碼到你的頁面或 部落格中就可以輕鬆地將您的HTML頁面製作成 專業的播放清單:
<script src="http://mediaplayer.yahoo.com/latest"></script>
#實例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <p><a href="Kalimba.mp3">Play mp3</a></p> <script src="http://mediaplayer.yahoo.com/latest"></script> </body> </html>找段音訊檔案試試看
#使用超連結
如果網頁包含指向媒體檔案的超鏈接,大多數瀏覽器會使用"輔助應用程式"來播放檔案。 以下程式碼片段顯示指向 mp3 檔案的連結。如果使用者點擊該鏈接,瀏覽器會啟動"輔助應用程式"來播放該檔案:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <h2>链接到一首歌</h2> <p><a href="nverq.mp3">点击此处播放</a></p> </body> </html>
找段音訊檔案試試看
標籤 | 描述 |
## <embed> | 定義內嵌物件。 HTML4 中不贊成,HTML5 中允許。 |
<object> | #定義內嵌物件。 |
<param> | #定義物件的參數。 |
<audio> | 定義了聲音內容 |
## <video> 定義影片或影片 | <source> |
<track>