function playNext(){
var wmps= Exobud.playState;
if(wmps==2 || wmps==3){Exobud.controls.stop();}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
if(blnEOT){mkSelAct();}
intErrCnt=0;
if(blnRndPlay){rndPlay();}
else{ var idx=cActIdx;
var blnFind=false;
for(var i=0;i<intSelMmCnt;i++){ if(cActIdx==arrSelMm[i]){idx=i+1; blnFind=true;}}
if(!blnFind){startExobud();return;}
if(idx>=intSelMmCnt){idx=0;cActIdx=arrSelMm[idx];}
else{cActIdx=arrSelMm[idx];}
selMmPlay(cActIdx);
}
}
function retryPlay(){
selMmPlay(cActIdx);
}
function chkRept(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnRept){
blnRept=false; disp2.innerHTML="Normal";
} else {
blnRept=true; disp2.innerHTML="Repeat";
}
tidMsg=setTimeout('rtnTLab()',1500);
}
function chgPMode(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnRndPlay){
blnRndPlay=false; disp2.innerHTML="顺序播放";
} else {
blnRndPlay=true; disp2.innerHTML="随机播放";
}
tidMsg=setTimeout('rtnTLab()',1500);
}function evtOSChg(f){if(f==8){capText.innerHTML="Captioning [SMI]";}
if(f==13){
var strTitle = Exobud.currentMedia.getItemInfo("Title");
if(strTitle.length <= 0){strTitle = "(未命名的标题)"}
var strAuthor = Exobud.currentMedia.getItemInfo("Author");
if(strAuthor.length <= 0){strAuthor = "(未命名的演出者)"}
var strCopy = Exobud.currentMedia.getItemInfo("Copyright");
if(strCopy.length <= 0){strCopy = "(没有著作权信息)"}
var strType = Exobud.currentMedia.getItemInfo("MediaType");
var strDur = Exobud.currentMedia.durationString;
var strUrl = Exobud.URL;
var trknum = cActIdx+1;
var ctit = objMmInfo[cActIdx].mmTit;
if(ctit=="nAnT"){
objMmInfo[cActIdx].mmTit = strAuthor + " - " + strTitle;
ctit = strAuthor + " - " + strTitle;
cActTit = "T" + trknum + ". " + ctit;
disp1.innerHTML = cActTit;
}
strMmInfo = "Media (Title) : " + strTitle + "\n\n";
strMmInfo += "Media (Author) : " + strAuthor + "\n\n";
strMmInfo += "Media (Author) : " + strUrl + "\n\n";
strMmInfo += "Media (Copyright) : " + strCopy + "\n\n";
strMmInfo += "Media (Duration) : " + strDur + "\n\n\n";
strMmInfo += "Brought to you by ExoBUD MP(II).\n";
strMmInfo += "Copyright(C) 1999-2004 Jinwoong Yu.\n";
strMmInfo += "ALL RIGHTS RESERVED.\n";
if(blnShowMmInfo){alert(strMmInfo);}
}
}function evtPSChg(f){
// 0(Undefined) 1(Stopped) 2 (Paused) 3(Playing) 4(ScanFowrd) 5(ScanReverse)
// 6(Buffering) 7(Waitng) 8(MediaEnded) 9(Transitioning) 10(Redy)
switch(f){
case 1:
evtStop();
break;
case 2:
evtPause();
break;
case 3:
evtPlay();
break;
case 8:
setTimeout('playAuto()', intDelay);
break;
}
}
function evtWmpBuff(f){
if(f){
disp2.innerHTML = "Buffering";
var msg = "(Buffering) " + cActTit;
disp1.innerHTML = msg;
if(blnStatusBar){ window.status=(msg);}
} else {
disp1.innerHTML = cActTit; showTLab();
}
}function evtWmpError(){
intErrCnt++;
Exobud.Error.clearErrorQueue();
if(intErrCnt<=3){
disp2.innerHTML = "Reset (" + intErrCnt + ")";
var msg = "(Play Attempt" + intErrCnt + ") " + cActTit;
disp1.innerHTML = "<Play Error> " + cActTit;
if(blnStatusBar){ window.status=(msg);}
tidErr=setTimeout('retryPlay()',1000);
} else {
clearTimeout(tidErr);
intErrCnt=0;showTLab();
var msg = "New Media Play Set";
if(blnStatusBar){ window.status=(msg);}
setTimeout('playAuto()',1000);}
}function evtStop(){
clearTimeout(tidErr);
clearInterval(tidTLab);
showTLab();
intErrCnt=0;
disp1.innerHTML = "Waiting";
if(blnStatusBar){ window.status=('Waiting');return true;}
}function evtPause(){
clearInterval(tidTLab);
showTLab();
}
function evtPlay(){
tidTLab=setInterval('showTLab()',1500);
}function showTLab(){
var ps = Exobud.playState;
if(ps==2 || ps==3){
var cp=Exobud.controls.currentPosition;
var cps=Exobud.controls.currentPositionString;
var dur=Exobud.currentMedia.duration;
var durs=Exobud.currentMedia.durationString;
if(blnElaps){
disp2.innerHTML = cps + " | " + durs;
var msg = cActTit + " (" + cps + " | " + durs + ")";
if(ps==2){msg = "(Pause) " + msg;}
if(blnStatusBar){ window.status=(msg);return true;}
} else {
var laps = dur-cp;
var strLaps = wmpTime(laps);
disp2.innerHTML = strLaps + " | " + durs;
var msg = cActTit + " (" + strLaps + " | " + durs + ")";
if(ps==2){msg = "(Pause) " + msg;}
if(blnStatusBar){ window.status=(msg);return true;}
}
} else {
disp2.innerHTML = "00:00 | 00:00";
}
}function chgTimeFmt(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnElaps){
blnElaps=false; disp2.innerHTML="Laps";
} else {
blnElaps=true; disp2.innerHTML="ELaps";
}
tidMsg=setTimeout('rtnTLab()',1000);
}function rtnTLab(){
clearTimeout(tidMsg);
var wmps=Exobud.playState;
if(wmps == 3){tidTLab=setInterval('showTLab()',1000);}
else{showTLab();}
}
function wmpTime(dur){
var hh, min, sec, timeLabel
hh = Math.floor(dur/3600);
min = Math.floor(dur / 60)%60;
sec = Math.floor(dur % 60);
if (isNaN(min)){ return "00:00"; }
if (isNaN(hh) || hh==0){timeLabel="";}
else{
if(hh >9){timeLabel = hh.toString()+":";}
else{timeLabel="0"+hh.toString() +":";}
}
if ( min > 9 ){ timeLabel = timeLabel + min.toString() + ":"; }
else {timeLabel = timeLabel + "0" +min.toString() + ":";}
if ( sec > 9 ){timeLabel = timeLabel + sec.toString();}
else{timeLabel = timeLabel + "0" + sec.toString();}
return timeLabel;
}var vmax = 100;
var vmin=0;
var vdep = 10;function wmpVolUp(){ 
var wmps=Exobud.playState;
if(wmps == 3){clearInterval(tidTLab);}
var ps = Exobud.settings;
if(ps.mute){ps.mute = false; disp2.innerHTML="Speach";}
else{
if (ps.volume >= (vmax-vdep)) {ps.volume = vmax;}
else { ps.volume = ps.volume + vdep;}
disp2.innerHTML="Vol. " + ps.volume +"%";
}
tidMsg=setTimeout('rtnTLab()',1500);
}function wmpVolDn(){ 
var wmps=Exobud.playState;
if(wmps == 3){clearInterval(tidTLab);}
var ps = Exobud.settings;
if(ps.mute){ps.mute = false;disp2.innerHTML="Speach";}
else{
if (ps.volume <= vdep){ ps.volume = vmin;}
else{ps.volume = ps.volume - vdep;}
disp2.innerHTML="Vol. " + ps.volume +"%";
}
tidMsg=setTimeout('rtnTLab()',1500);
}
vArray = new Array();
vArray[0] = 0;
vArray[2] = 20;
vArray[4] = 40;
vArray[6] = 60;
vArray[8] = 80;
vArray[10] = 100; 
function SetVolume(index)
{
var wmps=Exobud.playState;
if(wmps == 3){clearInterval(tidTLab);}
var ps = Exobud.settings;
ps.volume = vArray[index];
document.images["meter"].src = eval("meter" + index + ".src");
disp2.innerHTML="Vol. " + ps.volume +"%";
if(ps.volume != 0 && ps.mute){ps.mute = false;}
if(ps.volume == 0 && !ps.mute){ps.mute = true;disp2.innerHTML="Mute On";}
tidMsg=setTimeout('rtnTLab()',1500);
}
function MeterClick(n)
{
SetVolume(n);
}
function wmpMute(){ 
var wmps=Exobud.playState;
if(wmps == 3){clearInterval(tidTLab);}
var ps = Exobud.settings;
if(!ps.mute){ps.mute = true;disp2.innerHTML="Mute On";}
else {ps.mute = false;disp2.innerHTML="Mute Off";}
tidMsg=setTimeout('rtnTLab()',1500);
}

解决方案 »

  1.   

    function waitMsg(){
    capText.innerHTML="ExoBUD MP(II) (SMI)";
    if(intExobudStat==1){disp1.innerHTML = "无法播放 - 播放清单上没有设定任何曲目。";}
    if(intExobudStat==2){disp1.innerHTML = "无法播放 - 您没有选取播放清单上任何一首曲目。";}
    if(blnStatusBar){
    if(intExobudStat==1){ window.status=('无法播放 - 播放清单上没有设定任何曲目。'); return true;}
    if(intExobudStat==2){ window.status=('无法播放 - 您没有选取播放清单上任何一首曲目。'); return true;}
    }
    }function openPlist(){
    window.open("exobudpl.htm","mplist","top=150,left=200,width=350,height=280,scrollbars=no,resizable=NO,copyhistory=no");
    }
    function chkWmpState(){
    // 0(Undefined) 1(Stopped) 2 (Paused) 3(Playing) 4(ScanFowrd) 5(ScanReverse)
    // 6(Buffering) 7(Waitng) 8(MediaEnded) 9(Transitioning) 10(Redy)
    return Exobud.playState;
    }
    function chkWmpOState(){
    // 0(Undefined) 8(MediaChanging) 9(MediaLocating) 10(MediaConnecting) 11(MediaLoading) 
    // 12(MediaOpening) 13(MediaOpen) 20(MediaWaiting) 21(OpeningUnknownURL)
    return Exobud.openState;
    }
    function chkOnline(){
    // true(Network Connected) false(Network Lost)
    return Exobud.isOnline;
    }
    function vizExobud(){
    //Exobud.launchURL("http://www.webkkk.com");
    window.open("http://www.webkkk.com","vizExobud");
    }
    function goSkin(){
    window.open("http://www.webkkk.com","goSkin");
    }
    //-->播放器包含的主要代码就在这个文件里面了,其他的文件里就是一些图片,demo之类的东西,还有几个css文件
    另外还有一个exobudpl.js,文件里面初始了几个播放列表
    exobudset.js 文件里面设定了一些初始变量的值,如var blnAutoStart = true;之类的东西
    现在我想给这个播放器加个进度条,使它支持通过拖动进度条来控制播放进程,想了半天进展不大,还请大家帮帮忙!
    能给出解决方案就最好了,呵呵!