HTML5 Audio標簽能夠支持wav, mp3, ogg, acc, webm等格式,但有個很重要的音樂文件格式midi(擴展名mid)卻在各大瀏覽器中都沒有內置的支持。不是所有的瀏覽器都支持MP3 OGG之類的,每個瀏覽器因為版權的問題支持的格式都是不一樣的。 瀏覽器和音頻相容性 瀏覽器製造商 ...
HTML5 Audio標簽能夠支持wav, mp3, ogg, acc, webm等格式,但有個很重要的音樂文件格式midi(擴展名mid)卻在各大瀏覽器中都沒有內置的支持。不是所有的瀏覽器都支持MP3 OGG之類的,每個瀏覽器因為版權的問題支持的格式都是不一樣的。
瀏覽器和音頻相容性
瀏覽器製造商並非都同意使用某種音頻文件格式。對於圖像,PNG、JPEG 或 GIF 格式的文件在任何瀏覽器上都能載入到您的網頁里。遺憾的是,音頻文件並非如此。表 1 展示了網頁中可以使用的音頻文件格式,但是並非所有格式都能用於所有瀏覽器。例如,Chrome、Internet Explorer 9 (IE9) 和 Safari 瀏覽器不支持 WAV 文件,這是一種使用非壓縮格式且正在衰敗的標準。
HTML5瀏覽器和音頻格式相容性
音頻格式 | Chrome | Firefox | IE9 | Opera | Safari |
OGG | 支持 | 支持 | 支持 | 不支持 | 不支持 |
MP3 | 支持 | 不支持 | 支持 | 不支持 | 支持 |
WAV | 不支持 | 支持 | 不支持 | 支持 | 不支持 |
沒有一種通用的文件格式讓每個瀏覽器都使用單個文件格式意味著至少有 2/5 的瀏覽器無法播放某些聲音。這不是無法在單一音頻標準中達成一致的瀏覽器製造商不妥協的問題,而是涉及專利權和特許權使用費的法律和財務問題。不受軟體專利限制的 OGG 格式旨在一勞永逸地解決這個問題。然而,在撰寫本文時,Opera 和 Safari 都不支持 OGG。與 OGG 格式的文件相比,可用的 WAV 和 MP3 文件數量要更多,因此毫無疑問,瀏覽器製造商考慮到了這一點。MP3 作為事實的標準是個很好的解決方案。
解決方案:使用三種文件類型和<audio>標簽
鑒於目前的狀況,您可能認為目前還不是在 HTML5 頁面上使用音頻的黃金時刻。在某些方面可能的確如此,但是 HTML5 提供了一個解決方案,使您喜歡的瀏覽器能夠找到一種相容的格式。
與 <audio> 標簽結合使用時,<source> 標簽可以嵌套在 <audio> 容器內。假設您是一個瓦格納迷,想在 HTML5 網頁上聽他的歌劇 Ride of the Valkyries(《女武神》)。首先,您需要獲得三種文件類型的音樂,即 OGG、MP3 和 WAV。將這些音樂文件與 HTML5 文件放在同一個文件夾內。然後,將每個文件名放在單獨的 <source> 標簽里,並且音頻容器中的所有源標簽都由<audio></audio> 構成,如下所示。
<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>
無論訪問者使用什麼瀏覽器,它都將自動選擇所讀取的第一個文件類型,併為您播放聲音。