✔ 最佳答案
假設您的音樂檔共有2首,分別是 01.mid,與02.mid (或其他於 Windows Media Player 可以播放的格式)
假設您的音樂檔跟本網頁是放在同一目錄之下
注意:本方法僅適用於IE遊覽器喔..因為也只有IE完全支援Activex元件
,如果你要其他的解法的話,我可以跟你說,在網路上也有粉多用Flash作的撥放器.不過要努力找一下
- 網頁原始碼 -
<Html>
<Head>
<!-- 頁面標題-->
<Title></Title>
<!-- 繁體中文Meta標籤-->
<meta http-equiv="Content-Language" content="zh-tw">
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</Head>
<Body BgColor="#FFFFFF">
<!-- 背景音樂撥放器區塊 使用css的display與z-index屬性,讓撥放視窗隱藏-->
<Div Id="Div1" Style="display:none;z-index:999">
<Embed id="oEmbed0" name="oEmbed0" src="01.mid" autostart="True">
</Div>
<!-- 背景音樂撥放器區塊 -->
<Script Language="Javascript">
<!--
//定義欲撥放的音樂清單
var mySong=new Array()
mySong[0]="01.mid"
mySong[1]="02.mid"
//如果你要新增第3首的話..請新增下面的那一句,若要在新增
//請依序即可以..
//
//mySong[2]="03.mid"第3首
//.
//.
//mySong[x]="xx.mid"第xx首
//目前撥放索引
var SongIndex=0
//定義Timer變數
var Timer1=""
//取回音樂撥放器物件
var oPlayer=document.getElementById("oEmbed0")
var oDiv=document.getElementById("Div1")
//初始化偵測程序
DetectPlay(oPlayer.id)
//定時偵測音樂撥放器狀態
function DetectPlay(Obj_Id)
{
clearInterval(Timer1)
var o=document.getElementById(Obj_Id)
var iState=parseInt(CheckState(Obj_Id))
if(iState==0)
{
//撥放停止,準備撥下一首歌
if(SongIndex<mySong.length-1)
{
SongIndex++
}
else if(SongIndex==mySong.length-1)
{
SongIndex=0
}
var sHtml=""
sHtml=sHtml + "<Embed id='oEmbed0' name='oEmbed0' src="
sHtml=sHtml + "'" + mySong[SongIndex] + "' "
sHtml=sHtml + " autostart=True>"
oDiv.innerHTML=sHtml
}
else
{
//撥放還在進行中
}
var ArgStr=""
ArgStr=ArgStr + "DetectPlay("
ArgStr=ArgStr + "'" + Obj_Id + "'" + ","
ArgStr=ArgStr + "'" + 1000 + "'" + ""
ArgStr=ArgStr + ")"
Timer1=setInterval(ArgStr,1000)
}
function CheckState(Obj_Id)
{
//----------------------------------------------------------
//測試目前撥放器的狀態
//----------------------------------------------------------
//o.playState =0 表示物件撥放停止
//o.playState =1 表示物件撥放暫停
//o.playState =2 表示物件撥放進行中
if(Obj_Id==""){return false;}
var o=document.getElementById(Obj_Id)
if(o==undefined)
{return false;}
else
{return o.playState;}
}
-->
</Script>
</Html>