HTML中可以播放聲音的标簽有bgsound、embed、audio、object等,下面先簡單介紹這幾個标簽
<bgsound>:
<bgsound> 是用來插入背景音樂,但隻适用于 ie,其參數設定不多。如下
<bgsound src="your.mid" autostart=true loop=infinite>
src="your.mid"
設定聲音檔案的路徑,可以是相對或絕對。
autostart=true
是否在音樂檔下載下傳完之後就自動播放。true 是,false 否 (内定值)。
loop=infinite
是否自動反複播放。loop=2 表示重複兩次,infinite 表示重複多次。
<embed>:
<embed> 是用來插入各種多媒體,格式可以是 midi、wav、aiff、au 等等,新版的 ie支援,但Chrome對這個标簽的支援不好,無法實作循環播放的功能。其參數設定較多。如下:
<embed src="your.mid" autostart="true" loop="true" hidden="true">
src="your.mid"
設定聲音檔案的路徑,可以是相對或絕對。
autostart=true
是否在音樂檔下載下傳完之後就自動播放。true 是,false 否 (内定值)。
loop="true"
是否自動反複播放。loop=2 表示重複兩次,true 是, false 否。
hidden="true"
是否完全隐藏控制畫面,true 為是,no 為否 (内定)
還有starttime、volume、width、high、align、absmiddle、absbottom、controls等參數。
<audio> 元素
<audio> 元素是一個 HTML5 元素,在 HTML 4 中是非法的,但在大部分浏覽器中都有效。
注意:這個标簽在低版本IE中(如:IE8)沒有效果。
例子:
<audio src="alert.wav" autoplay="autoplay" loop="loop"/>
屬性清單:
屬性 值 描述
autoplay autoplay 如果出現該屬性,則音頻在就緒後馬上播放。
controls controls 如果出現該屬性,則向使用者顯示控件,比如播放按鈕。
loop loop 如果出現該屬性,則每當音頻結束時重新開始播放。
preload preload 如果出現該屬性,則音頻在頁面加載時進行加載,并預備播放。如果使用 "autoplay",則忽略該屬性。
src url 要播放的音頻的 URL。
<object> 元素
<object> 标簽也可以定義外部(非 HTML)内容的容器。可以使用此元素向 XHTML 頁面添加多媒體。
下面的代碼片段能夠顯示嵌入網頁中的 MP3 檔案:
執行個體:
<object height="100" width="100" data="song.mp3"></object>
問題:
•不同的浏覽器對音頻格式的支援也不同。
•如果浏覽器不支援該檔案格式,沒有插件的話就無法播放該音頻。
•如果使用者的計算機未安裝插件,無法播放音頻。
為實作循環播放音樂,可以采取如下的解決方案(jQuery下):
if($.browser.msie) {
$('body').append('<bgsound src="alert.wav" loop="-1"/>');
} else {
$('body').append('<audio src="alert.wav" autoplay="autoplay" loop="loop"/>');
}
因為IE的安裝受限于作業系統,是以很多使用者使用的IE版本并不高,就使用bgsound來播放音樂;其它浏覽器比如FireFox、Chrome可以很友善地更新到最新版本,可以使用audio來播放音樂。