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來播放音樂。
轉:http://epy.iteye.com/blog/1948113
