一、添加背景音樂時,一般會用到兩種標簽:
1、<bgsound>
2、<embed>
二、一般用法 :
<bgsound src="音頻源" autostart="true" loop="false" />
<embed src="音頻源" autostart="true" loop="false" />
三、標簽屬性 :
1、autostart 當為 true 時 是自動播放模式 。反之, 當為false時 為一開始不進行自動播放(默認為false);
2、loop 當為 true 時 是無限次重播,false為不重播,某一具體值(正整數)為重播多少次;
3、當添加屬性 hidden="true" 時 為隱藏控制面板;
四、兼容問題
1、<bgsound> 標簽 為 IE
2、<embed> 為其它
3、值得注意的是 當為IE9時 , 兩標簽都為支持;
TIPS :
例如:給 <div class=”mp3”></div>添加音頻播放文件時。
(一)、正常情況下的寫法:
if($.browser.msie){
$(".mp3").html('<bgsound src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
}else{
$(".mp3").html('<embed src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
}
現象:IE內核的沒有聲音:其它的有!
原因:<bgsound >標簽在IE內核里是不會被直接讀取的,所以。。。
解決:在判斷為IE內核時 把兩個標簽都加載進去 ,而已<embed>標簽要在<bgsound>前,並且將自動播放設置為 autostart="false";
如:
if($.browser.msie){
$(".mp3").html('<embed src="music/one.mp3" autostart="false" loop="true" hidden="true" /><bgsound src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
}else{
$(".mp3").html('<embed src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
}
(二)、可能會有這樣的一種特殊特殊情況:
現象:IE內核的出現重音(或當是啟用瀏覽器的兼容性視圖時出現);
原因:個人初步認為這是音頻在切換的延遲問題;
根據:當我在給 <div class=”mp3”></div>添加音頻播放文件前,來一個alert(“dd”)彈窗事件后,則音頻播放正常;
解決:為了安全起見,設置延時一秒加載的同時,前利用else再進行對其它瀏覽器進行判斷,最終寫法如下:
if($.browser.msie){
setTimeout(function(){
$(".mp3").html('<embed src="music/one.mp3" autostart="false" loop="true" hidden="true" /><bgsound src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
},1000);
}else if($.browser.mozilla || $.browser.opera || $.browser.safari){
$(".mp3").html('<embed src="music/one.mp3" autostart="true" loop="true" hidden="true" />');
}