HTML 音頻(Audio)
HTML?音頻(Audio)
聲音在HTML中可以以不同的方式播放.
問題以及解決方法
在 HTML 中播放音頻并不容易!
您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。
在本章,PHP中文網(wǎng)(php.cn) 為您總結(jié)了問題和解決方法。
使用插件
瀏覽器插件是一種擴(kuò)展瀏覽器標(biāo)準(zhǔn)功能的小型計(jì)算機(jī)程序。
插件可以使用 <object> 標(biāo)簽 或者 <embed> 標(biāo)簽添加在頁(yè)面上.?
這些標(biāo)簽定義資源(通常非 HTML 資源)的容器,根據(jù)類型,它們即會(huì)由瀏覽器顯示,也會(huì)由外部插件顯示。
使用 <embed> 元素
<embed>標(biāo)簽定義外部(非 HTML)內(nèi)容的容器。(這是一個(gè) HTML5 標(biāo)簽,在 HTML4 中是非法的,但是所有瀏覽器中都有效)。
下面的代碼片段能夠顯示嵌入網(wǎng)頁(yè)中的 MP3 文件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <embed height="50" width="100" src="horse.mp3"> <p>如果你無(wú)法聽到該音頻,那么可能你的電腦或?yàn)g覽器不支持該文件格式。</p> <p>或者你沒有打開揚(yáng)聲器。</p> </embed> </body> </html>
你在本地找一段mp3格式的音頻,將src="horse.mp3"換成你的mp3文件,再打開網(wǎng)頁(yè)試試看
問題:
<embed> 標(biāo)簽在 HTML 4 中是無(wú)效的。頁(yè)面無(wú)法通過 HTML 4 驗(yàn)證。
不同的瀏覽器對(duì)音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無(wú)法播放該音頻。
如果用戶的計(jì)算機(jī)未安裝插件,無(wú)法播放音頻。
如果把該文件轉(zhuǎn)換為其他格式,仍然無(wú)法在所有瀏覽器中播放。
使用 <object> 元素
<object tag> 標(biāo)簽也可以定義外部(非 HTML)內(nèi)容的容器。
下面的代碼片段能夠顯示嵌入網(wǎng)頁(yè)中的 MP3 文件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <object height="100" width="300" data="Kalimba.mp3"></object> <p>如果你無(wú)法聽到該音頻,那么可能你的電腦或?yàn)g覽器不支持該文件格式。</p> <p>或者你沒有打開揚(yáng)聲器。</p> </body> </html>
你在本地找一段mp3格式的音頻,將src="horse.mp3"換成你的mp3文件,再打開網(wǎng)頁(yè)試試看
問題:
不同的瀏覽器對(duì)音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無(wú)法播放該音頻。
如果用戶的計(jì)算機(jī)未安裝插件,無(wú)法播放音頻。
如果把該文件轉(zhuǎn)換為其他格式,仍然無(wú)法在所有瀏覽器中播放。
使用 HTML5 <audio> 元素
HTML5 <audio> 元素是一個(gè) HTML5 元素,在 HTML 4 中是非法的,但在所有瀏覽器中都有效。
The <audio> element works in all modern browsers.
以下我們將使用 <audio> 標(biāo)簽來(lái)描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同樣添加了一個(gè) OGG 類型文件(Firefox 和 Opera瀏覽器中有效).如果失敗,它會(huì)顯示一個(gè)錯(cuò)誤文本信息:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <audio controls> <source src="horse.mp3" type="audio/mpeg"> <source src="horse.ogg" type="audio/ogg"> 您的瀏覽器不支持該音頻格式。 </audio> </body> </html>
如果你的瀏覽器不支持音頻格式將會(huì)輸出 “您的瀏覽器不支持該音頻格式”這段話,否則反之
問題:
<audio> 標(biāo)簽在 HTML 4 中是無(wú)效的。您的頁(yè)面無(wú)法通過 HTML 4 驗(yàn)證。
您必須把音頻文件轉(zhuǎn)換為不同的格式。
<audio> 元素在老式瀏覽器中不起作用。
最好的 HTML 解決方法
下面的例子使用了兩個(gè)不同的音頻格式。HTML5 <audio> 元素會(huì)嘗試以 mp3 或 ogg 來(lái)播放音頻。如果失敗,代碼將回退嘗試 <embed> 元素。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(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換成你本地的音頻試試看
問題:
您必須把音頻轉(zhuǎn)換為不同的格式。
<embed> 元素?zé)o法回退來(lái)顯示錯(cuò)誤消息。
雅虎媒體播放器 - 一個(gè)簡(jiǎn)單的添加音頻到你網(wǎng)站上的方式
雅虎媒體播放器為您的用戶提供的是一個(gè)小型的播放按鈕,而不是完整的播放器。不過,當(dāng)您點(diǎn)擊該按鈕,會(huì)彈出完整的播放器。
請(qǐng)注意,這個(gè)播放器始終??吭诖翱虻撞?。只需點(diǎn)擊它,就可將其滑出。
使用雅虎播放器是免費(fèi)的。如需使用它,您需要把這段 JavaScript 插入網(wǎng)頁(yè)底部:
雅虎播放器可以播放MP3以及其他各種格式。你只需添加一行代碼到你的頁(yè)面或 博客中就可以輕松地將您的HTML頁(yè)面制作成 專業(yè)的播放列表:
<script src="http://mediaplayer.yahoo.com/latest"></script>
實(shí)例?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p><a href="Kalimba.mp3">Play mp3</a></p> <script src="http://mediaplayer.yahoo.com/latest"></script> </body> </html>
找段音頻文件試試看
使用超鏈接
如果網(wǎng)頁(yè)包含指向媒體文件的超鏈接,大多數(shù)瀏覽器會(huì)使用"輔助應(yīng)用程序"來(lái)播放文件。
以下代碼片段顯示指向 mp3 文件的鏈接。如果用戶點(diǎn)擊該鏈接,瀏覽器會(huì)啟動(dòng)"輔助應(yīng)用程序"來(lái)播放該文件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <h2>鏈接到一首歌</h2> <p><a href="nverq.mp3">點(diǎn)擊此處播放</a></p> </body> </html>
找段音頻文件試試看
內(nèi)聯(lián)的聲音說(shuō)明
當(dāng)您在網(wǎng)頁(yè)中包含聲音,或者作為網(wǎng)頁(yè)的組成部分時(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ì)打開頁(yè)面然后播放錄音。
HTML 多媒體標(biāo)簽
HTML5 新標(biāo)簽
? ? ?標(biāo)簽 | ? ? ?描述 |
? ??<embed> | 定義內(nèi)嵌對(duì)象。HTML4 中不贊成,HTML5 中允許。 |
? ??<object> | 定義內(nèi)嵌對(duì)象。 |
? ??<param> | 定義對(duì)象的參數(shù)。 |
? ??<audio> | 定義了聲音內(nèi)容 |
? ??<video> | 定義一個(gè)視頻或者影片 |
? ??<source> | 定義了media元素的多媒體資源(<video> 和 <audio>) |
? ? ? ? <track> | 規(guī)定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>) |