www.gusucode.com > 易心博客[圣诞版] 3.5手动安装码程序 > Player/PanelDefault/exobud.js
//============================================================【版权说明,请保留以下信息】==== // ExoBUD MP(II) v4.1 [Traditional Chinese Version] // Copyright(Pe) 1999-2003 Jinwoong Yu[ExoBUD], Kendrick Wong[kiddiken.net]. //====================================================================================== // 程式原作者: 庾珍雄(Jinwoong Yu) // 个人网站: http://exobud.nayana.org // 电子邮件: exobud@hanmail.net // ICQ号码: 96138429 //====================================================================================== //************************************************************************************** //简体中文版作者:辣辣箭 //个人网站:www.cuiz.net //电子邮件:jian08@msn.com //OICQ:79342254 //发布日期:2004.12.05 //╔┯╗╔┯╗╔┯╗╔┯╗^^╔┯╗╔┯╗╔┯╗╔┯╗ //┠翠┨┠竹┨┠设┨┠计┨ ┠惊┨┠喜┨┠无┨┠限┨ //╚┷╝╚┷╝╚┷╝╚┷╝\/╚┷╝╚┷╝╚┷╝╚┷╝ //**************************************************************************************** Copyright="(C)ExoBUD, JinWoong Eu. 1999-2003"; //版权信息声明,原作者保留全部版权 var objMmInfo = null; var intMmCnt = 0; var intSelMmCnt=0; var intActMmCnt=0; var cActIdx=0; var cActTit="nAnT"; var strMmInfo ="ExoBUD Media Infomation"; var blnfpl=false; var blnEnabled= false; var blnEOT=false; var arrSelMm=null; var arrActMm=null; var intExobudStat =0; var tidTLab=null; var tidErr=null; var tidMsg=null; var intErrCnt=0; var blnRept=false; var blnAutoProc = true; var blnElaps=true; var intDelay =500; //window.onerror = killerror; document.onkeydown = processKey; function killerror() {return true;} function processKey() { if ( event.keyCode == 90 || event.keyCode == 0x25) {playPrev();this.blur();} else if ( event.keyCode == 67 ) {wmpStop();this.blur();} else if ( event.keyCode == 86 || event.keyCode == 80) {startExobud();this.blur();} else if ( event.keyCode == 88 ) {wmpPP();this.blur();} else if ( event.keyCode == 66 || event.keyCode == 0x27) {playNext();this.blur();} else if ( event.keyCode == 84 ) {chgTimeFmt();this.blur();} else if ( event.keyCode == 65 ) {wmpMute();this.blur();} else if ( event.keyCode == 83 || event.keyCode == 82) {chgPMode();this.blur();} else if ( event.keyCode == 76 ) {chkRept();this.blur();} else if ( event.keyCode == 77 ) {openPlist();this.blur();} else if ( event.keyCode == 0x28 ) {wmpVolDn();this.blur();} else if ( event.keyCode == 0x26 ) {wmpVolUp();this.blur();} else if ( event.keyCode == 73 ) {alert(strMmInfo);} } function wmpInit(){ var wmps = Exobud.settings; var wmpc = Exobud.ClosedCaption; wmps.autoStart=true; wmps.balance=0; wmps.enableErrorDialogs=false; wmps.invokeURLs = false; wmps.mute=false; wmps.playCount=1; wmps.rate=1; wmps.volume = 100; if(blnUseSmi){wmpc.captioningID="capText"; capText.style.display="";} Exobud.enabled=true; } function mkMmPath(u, t, f,s){ this.mmUrl = u; this.mmTit =t; this.mmDur =0; this.selMm=f; this.actMm=f; if(blnUseSmi){this.mmSmi=s;} } function mkList(u,t,s,f){ var cu=u; var ct=t; var cs=s; var cf=f; var idx=0; if(objMmInfo == null){ objMmInfo=new Array(); idx=0;} else{ idx=objMmInfo.length;} if(u=="" || u==null){cu="mms://";} if(t=="" || t==null){ct="未知歌曲";} if(f=="f" || f=="F"){cf="f";} else{cf="t"; intSelMmCnt=intSelMmCnt+1;} if(blnUseSmi){ objMmInfo[idx]=new mkMmPath(cu,ct,cf,cs);} else{objMmInfo[idx]=new mkMmPath(cu,ct,cf);} intActMmCnt=intSelMmCnt; intMmCnt=objMmInfo.length; } function mkSel(){ arrSelMm=null; intSelMmCnt=0; var selidx = 0; if(intMmCnt<=0){intExobudStat=1; blnEnabled=false; return;} // 没有任何播放清单歌曲列表 arrSelMm=new Array(); for(var i=0; i<intMmCnt;i++){ if(objMmInfo[i].selMm =="t"){arrSelMm[selidx]=i;selidx=selidx+1;} } intSelMmCnt=arrSelMm.length; if(intSelMmCnt<=0){blnEnabled=false;intExobudStat=2; arrSelMm=null; return;} else{blnEnabled=true; mkAct();} } // mkAct() 函数: 建立已启用播放项目(Activated Media array)的数组 function mkAct(){ arrActMm=null; intActMmCnt=0; var selidx=0; var actidx=0; if(blnEnabled){ arrActMm=new Array(); for(var i=0; i<intSelMmCnt;i++){ selidx=arrSelMm[i]; if(objMmInfo[selidx].actMm=="t"){arrActMm[actidx]=selidx; actidx=actidx+1;} } intActMmCnt=arrActMm.length; } else{return;} if(intActMmCnt<=0){blnEOT=true;arrActMm=null;} else{blnEOT=false;} } function chkAllSel(){ for(var i=0; i<intMmCnt; i++){ objMmInfo[i].selMm="t"; objMmInfo[i].actMm="t"; } mkSel(); } function chkAllDesel(){ for(var i=0; i<intMmCnt; i++){ objMmInfo[i].selMm="f"; objMmInfo[i].actMm="f"; } mkSel(); } function chkItemSel(idx){ if(objMmInfo[idx].selMm =="t"){objMmInfo[idx].selMm="f";objMmInfo[idx].actMm="f";} else{objMmInfo[idx].selMm="t";objMmInfo[idx].actMm="t";} mkSel(); } function chkItemAct(idx){ objMmInfo[idx].actMm="f"; mkAct(); } function mkSelAct(){ var idx=0; for(var i=0; i<intSelMmCnt; i++){ idx=arrSelMm[i]; objMmInfo[idx].actMm="t"; } mkAct(); } // initExobud() 函数: 初始化 ExoBUD MP(II) 媒体播放程序 function initExobud(){ wmpInit(); mkSel(); blnfpl=false; if(blnShowVolCtrl == false) { document.images['vmute'].style.display = "none"; document.images['vdn'].style.display = "none"; document.images['vup'].style.display = "none"; } if(!blnShowPlist){document.images['plist'].style.display = "none";} if(blnRept){imgChange('rept',1);} else{imgChange('rept',0);} if(blnRndPlay){imgChange('pmode',1);} else{imgChange('pmode',0);} showTLab(); disp1.innerHTML="ExoBUD MP(II) v4.1 plus + 网络媒体播放器"; if(blnStatusBar){window.status=('ExoBUD MP(II) v4.1 plus + 网络媒体播放器');} if(blnAutoStart){startExobud();} } function startExobud(){ var wmps= Exobud.playState; if(wmps==2){Exobud.controls.play(); return;} if(wmps==3){return;} blnfpl=false; if(!blnEnabled){waitMsg();return;} if(blnEOT){mkSelAct();} if(intErrCnt>0){intErrCnt=0;tidErr=setTimeout('retryPlay(),1000');return;} if(blnRndPlay){rndPlay();} else{cActIdx=arrActMm[0]; selMmPlay(cActIdx);} } function selMmPlay(idx){ clearTimeout(tidErr); cActIdx=idx; var trknum=idx+1; var ctit =objMmInfo[idx].mmTit; if(ctit=="nAnT"){ctit="无法取得歌曲标题与歌手..."} if(blnUseSmi){Exobud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;} Exobud.URL = objMmInfo[idx].mmUrl; cActTit=""+"第"+ trknum + "首: " + ctit; disp1.innerHTML = cActTit; if(blnStatusBar){window.status=(cActTit);} chkItemAct(cActIdx); } //wmpPlay() 函数: 使用 wmp-obj v7.x 链接库播放曲目 function wmpPlay(){Exobud.controls.play();} function wmpStop(){ intErrCnt=0; clearTimeout(tidErr); clearInterval(tidTLab); imgChange("stopt",1); imgChange("pauzt",0); imgChange("scope",0); showTLab(); mkSelAct(); Exobud.controls.stop(); Exobud.close(); disp1.innerHTML="ExoBUD MP(II) v4.1 plus 播放已停止"; if(blnStatusBar){window.status=('网络媒体播放器:辣辣箭 汉化加强版');return true;} } function wmpPause(){Exobud.controls.pause();} function wmpPP(){ var wmps = Exobud.playState; var wmpc=Exobud.controls; clearInterval(tidTLab); clearTimeout(tidMsg); if (wmps == 2) {wmpc.play();disp2.innerHTML="播放"; setTimeout('rtnTLab()',1500);} if (wmps == 3) {wmpc.pause();disp2.innerHTML="暂停"; setTimeout('rtnTLab()',1500);} return; } function rndPlay(){ if(!blnEnabled){waitMsg();return;} intErrCnt=0; var idx=Math.floor(Math.random() * intActMmCnt); cActIdx= arrActMm[idx]; selMmPlay(cActIdx); } function playAuto(){ if(blnRept){ selMmPlay(cActIdx); return;} if(!blnAutoProc){wmpStop();return;} if(blnfpl){wmpStop(); return;} if(!blnEnabled){wmpStop();return;} if(blnEOT){ if(blnLoopTrk){startExobud();} else{wmpStop();} } else{ if(blnRndPlay){rndPlay();} else{cActIdx= arrActMm[0]; selMmPlay(cActIdx);} } } // 播放用户选定的清单 function selPlPlay(idx){ blnfpl=true; selMmPlay(idx); } function playPrev(){ 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<0){idx=intSelMmCnt-1;cActIdx=arrSelMm[idx];} else{cActIdx=arrSelMm[idx];} selMmPlay(cActIdx); } } 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; imgChange('rept',0);disp2.innerHTML="普通播放模式";} else{blnRept=true; imgChange('rept',1);disp2.innerHTML="重复播放模式";} tidMsg= setTimeout('rtnTLab()',1000); } function chgPMode(){ var wmps=Exobud.playState; if(wmps == 3){clearInterval(tidTLab);} if(blnRndPlay){blnRndPlay=false; imgChange('pmode',0);disp2.innerHTML="SEQ.循序播放";} else{blnRndPlay=true; imgChange('pmode',1);disp2.innerHTML="RND.随机播放";} tidMsg=setTimeout('rtnTLab()',1000); } function evtOSChg(f){ if(f==8){capText.innerHTML="ExoBUD⑩ MP(II) 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= "歌曲 (标题) : " + strTitle + " (形式:" + strType +")" + "\n\n" strMmInfo= strMmInfo + "歌曲 (歌手) : " + strAuthor + "\n\n" strMmInfo= strMmInfo + "歌曲 (URL) : " +strUrl + "\n\n" strMmInfo= strMmInfo + "歌曲 (版权) : " + strCopy +"\n\n" strMmInfo= strMmInfo + "歌曲 (时间长度) : " +strDur +"\n\n"; strMmInfo= strMmInfo + " (C) Copyright ExoBUD⑩ MPlayer(II) 1999-2003 \n"; strMmInfo= strMmInfo + " (C) Copyright WWW.CUIZ.NET 2004 (^_^汉化加强版) \n"; if(blnShowMmInfo){alert(strMmInfo);} } } function evtPSChg(f){ switch(f){ case 1: evtStop(); break; case 2: evtPause(); break; case 3: evtPlay(); break; case 8: setTimeout('playAuto()', intDelay); break; } } //evtWmpBuff()函数 显示缓冲处理.. function evtWmpBuff(f){ if(f){ disp2.innerHTML = "正在从服务器缓冲..."; var msg="Loading...请稍后..." + cActTit; disp1.innerHTML = msg; if(blnStatusBar){window.status=(msg);} } else{ disp1.innerHTML = cActTit; showTLab();} } function evtWmpError(){ intErrCnt=intErrCnt+1; if(intErrCnt<=3){ disp2.innerHTML="尝试连接 ("+intErrCnt+")"; var msg="(尝试连接:" + intErrCnt +") " +cActTit; disp1.innerHTML="尝试连接 " +cActTit; if(blnStatusBar){window.status=(msg);} tidErr=setTimeout('retryPlay()',1000); } else{ clearTimeout(tidErr);//超时 intErrCnt=0;showTLab(); var msg="已放弃此歌曲连接,等待播放一下首歌曲"; if(blnStatusBar){window.status=(msg);} setTimeout('playAuto()',1000);} } function evtStop(){ clearTimeout(tidErr); clearInterval(tidTLab); showTLab(); intErrCnt=0; imgChange("pauzt",0); imgChange("playt",0); imgChange("scope",0); disp1.innerHTML="ExoBUD⑩ MP(II) 网络媒体播放器"; if(blnStatusBar){window.status=('网络媒体播放器:辣辣箭 汉化加强版');return true;} } function evtPause(){ imgChange("pauzt",1) imgChange("playt",0); imgChange("stopt",0); imgChange("scope",0); clearInterval(tidTLab); showTLab(); } function evtPlay(){ imgChange("pauzt",0) imgChange("playt",1); imgChange("stopt",0); imgChange("scope",1); tidTLab=setInterval('showTLab()',1000); } 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="(暂停)"+ 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="(暂停)"+ 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(){ // ExoBUD⑩ MP(II) wmpVolUp() 函数: 增加音量(Volume Up) var wmps=Exobud.playState; if(wmps == 3){clearInterval(tidTLab);} var ps = Exobud.settings; if(ps.mute){ps.mute = false; disp2.innerHTML="音量恢复";imgChange('vmute',0);} else{ if (ps.volume >= (vmax-vdep)) {ps.volume = vmax;} else { ps.volume = ps.volume + vdep;} disp2.innerHTML="Vol. " + ps.volume +"%"; } tidMsg=setTimeout('rtnTLab()',1000); } function wmpVolDn(){ var wmps=Exobud.playState; if(wmps == 3){clearInterval(tidTLab);} var ps = Exobud.settings; if(ps.mute){ps.mute = false;disp2.innerHTML="音量恢复";imgChange('vmute',0);} else{ if (ps.volume <= vdep){ ps.volume = vmin;} else{ps.volume = ps.volume - vdep;} disp2.innerHTML="Vol. " + ps.volume +"%"; } tidMsg=setTimeout('rtnTLab()',1000); } function wmpMute(){ // ExoBUD⑩ MP(II) 静音模式Mute var wmps=Exobud.playState; if(wmps == 3){clearInterval(tidTLab);} var ps = Exobud.settings; if(!ps.mute){ps.mute = true;disp2.innerHTML="打开静音功能"; imgChange("vmute", 1);} else {ps.mute = false;disp2.innerHTML="关闭静音功能"; imgChange("vmute", 0)} tidMsg=setTimeout('rtnTLab()',1000); } 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() { // ExoBUD⑩ MP(II) 打开播放清单 window.open("exobudpl.html" , "mplist", " width=280 , height=500 ,scrollbars=auto , resizable=no , copyhistory=no"); } function chkWmpState(){ return Exobud.playState; } function chkWmpOState(){ return Exobud.openState; } function chkOnline(){ return Exobud.isOnline; } // vizExobud() 函数: 点击连接到 ExoBUD MP 播放器原作者的官方网站[韩文] (不一定每款面板都会使用) function vizExobud(){ //Exobud.launchURL("http://exobud.nayana.org"); window.open("http://exobud.nayana.org","vizExobud"); } // chineseExoBUD() 汉化信息 (不一定每款面板都会使用) function ChineseExobud(){ //window.open("http://www.cuiz.net","chineseexobud"); //alert("+++++++简体汉化信息+++++++\n 作者:辣辣箭 翠竹\n 主页:www.cuiz.net\n 电子信箱:jian08@126.com \n QQ号码:79342254\n+++++++++++++++++++++++\n \n ^0^快乐 你我共同拥有!"); }