天天看點

如何在網頁中循環播放聲音?

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來播放音樂。

繼續閱讀