在HTML5標(biāo)準(zhǔn)網(wǎng)頁(yè)里面,我們可以運(yùn)用audio標(biāo)簽來(lái)完成我們對(duì)聲音的調(diào)用及播放。以下是最經(jīng)常見(jiàn)到的運(yùn)用HTML5三種基本格式:
1.最少的代碼
<audio src="song.ogg" controls="controls"></audio>
2.帶有不兼容提醒的代碼
<audio src="song.ogg" controls="controls">
Your browser does not support the audio tag.
</audio>
3.盡量兼容瀏覽器的寫(xiě)法
<audio controls="controls">
<source src="song.ogg" type="audio/ogg">
<source src="song.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
瀏覽器和音頻兼容性
瀏覽器制造商并非都同意使用某種音頻文件格式。對(duì)于圖像,PNG、JPEG 或 GIF 格式的文件在任何瀏覽器上都能加載到您的網(wǎng)頁(yè)里。遺憾的是,音頻文件并非如此。表 1 展示了網(wǎng)頁(yè)中可以使用的音頻文件格式,但是并非所有格式都能用于所有瀏覽器。例如,Chrome、Internet Explorer 9 (IE9) 和 Safari 瀏覽器不支持 WAV 文件,這是一種使用非壓縮格式且正在衰敗的標(biāo)準(zhǔn)。
HTML5瀏覽器和音頻格式兼容性

沒(méi)有一種通用的文件格式讓每個(gè)瀏覽器都使用單個(gè)文件格式意味著至少有 2/5 的瀏覽器無(wú)法播放某些聲音。這不是無(wú)法在單一音頻標(biāo)準(zhǔn)中達(dá)成一致的瀏覽器制造商不妥協(xié)的問(wèn)題,而是涉及專(zhuān)利權(quán)和特許權(quán)使用費(fèi)的法律和財(cái)務(wù)問(wèn)題。不受軟件專(zhuān)利限制的 OGG 格式旨在一勞永逸地解決這個(gè)問(wèn)題。然而,在撰寫(xiě)本文時(shí),Opera 和 Safari 都不支持 OGG。與 OGG 格式的文件相比,可用的 WAV 和 MP3 文件數(shù)量要更多,因此毫無(wú)疑問(wèn),瀏覽器制造商考慮到了這一點(diǎn)。MP3 作為事實(shí)的標(biāo)準(zhǔn)是個(gè)很好的解決方案。
解決方案:使用三種文件類(lèi)型和<audio>標(biāo)簽
鑒于目前的狀況,您可能認(rèn)為目前還不是在 HTML5 頁(yè)面上使用音頻的黃金時(shí)刻。在某些方面可能的確如此,但是 HTML5 提供了一個(gè)解決方案,使您喜歡的瀏覽器能夠找到一種兼容的格式。
與 <audio> 標(biāo)簽結(jié)合使用時(shí),<source> 標(biāo)簽可以嵌套在 <audio> 容器內(nèi)。假設(shè)您是一個(gè)瓦格納迷,想在 HTML5 網(wǎng)頁(yè)上聽(tīng)他的歌劇 Ride of the Valkyries(《女武神》)。首先,您需要獲得三種文件類(lèi)型的音樂(lè),即 OGG、MP3 和 WAV。將這些音樂(lè)文件與 HTML5 文件放在同一個(gè)文件夾內(nèi)。然后,將每個(gè)文件名放在單獨(dú)的 <source> 標(biāo)簽里,并且音頻容器中的所有源標(biāo)簽都由<audio></audio> 構(gòu)成,如下所示。
<audio controls>
<source src=”http://demo.mimvp.com/html5/take_you_fly.ogg” />
<source src=”http://demo.mimvp.com/html5/take_you_fly.mp3″ />
<source src=”http://demo.mimvp.com/html5/take_you_fly.wav” />
</audio>
無(wú)論訪問(wèn)者使用什么瀏覽器,它都將自動(dòng)選擇所讀取的第一個(gè)文件類(lèi)型,并為您播放聲音。
瀏覽器音頻控件:沒(méi)有兩個(gè)是完全相同的

一旦您決定要在網(wǎng)站上提供音頻,將面臨一個(gè)有趣的設(shè)計(jì)選擇。每個(gè)瀏覽器都有與眾不同的外觀,看起來(lái)像是有意識(shí)地故意使其與眾不同。
除了 Chrome 瀏覽器外,所有瀏覽器都有開(kāi)始/暫停控件、進(jìn)度條、滑塊、播放秒數(shù)、音量/靜音控件,還顯示聲音文件的總秒數(shù)。使用HTML5 標(biāo)準(zhǔn)和瀏覽器支持,開(kāi)發(fā)人員可以相信用戶將擁有與 HTML5 音頻類(lèi)似的體驗(yàn),因?yàn)闉g覽器控件是類(lèi)似的。您還可以使用 Flash 和 Silverlight 等插件創(chuàng)建控件,但是對(duì)于不同的用戶,體驗(yàn)可能會(huì)有所不同。
某些瀏覽器(如 IE9)甚至有自己的聲音控制條,在瀏覽器本身之外運(yùn)行。用戶打開(kāi)有聲音的任何網(wǎng)站時(shí),他們可以從 Windows 任務(wù)欄控制聲音,并能夠預(yù)覽當(dāng)前正在播放的聲音。
html代碼 (隱藏播放控件)
<audio autoplay="autoplay">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>
代碼演示 (隱藏播放控件)
<audio autoplay="autoplay" controls="controls">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>