www.gusucode.com > 易心博客[圣诞版] 3.5手动安装码程序 > Player/PPDefault/js/cnsidebud.js
<!--// //========================================================= // File: cnsidebud.js // Version:2.0 // Date: 2003-5-6 // Script Written by hoja //========================================================= // Copyright (C) 2002,2003 CnSide.com. All rights reserved. // Web: http://www.cnside.com,http://bbs.cnside.com // Email: master@cnside.com //========================================================= //--> var objMmInfo = null; var intMmCnt = 0; var intSelMmCnt=0; var intActMmCnt=0; var cActIdx=0; var cActTit="nAnT"; var strMmInfo ="Infomation"; var blnfpl=false; var blnEnabled= false; var blnEOT=false; var arrSelMm=null; var arrActMm=null; var intCnSideBudStat =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; function processKey() { if ( event.keyCode == 90 || event.keyCode == 0x25) {playPrev();} else if ( event.keyCode == 67 ) {wmpStop();} else if ( event.keyCode == 86 || event.keyCode == 80) {startCnSideBud();} else if ( event.keyCode == 88 ) {wmpPP();} else if ( event.keyCode == 66 || event.keyCode == 0x27) {playNext();} else if ( event.keyCode == 84 ) {chgTimeFmt();} else if ( event.keyCode == 65 ) {wmpMute();} else if ( event.keyCode == 83 || event.keyCode == 82) {chgPMode();} else if ( event.keyCode == 76 ) {chkRept();} else if ( event.keyCode == 77 ) {ShowHideList();} else if ( event.keyCode == 73 ) {alert(strMmInfo);} } document.onkeydown = processKey; function wmpInit(){ var wmps = CnSideBud.settings; var wmpc = CnSideBud.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="";} CnSideBud.enabled=true; } function mkMmPath(u,t,f,s,l){ this.mmUrl = u; this.mmTit =t; this.mmDur =0; this.mmCl = l; this.selMm=f; this.actMm=f; if(blnUseSmi){this.mmSmi=s;} } function mkList(u,t,s,f,l){ var cu=u; var ct=t; var cs=s; var cf=f; var cl=l; 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(l=="" || l==null){cl="易心博客";} if(blnUseSmi){ objMmInfo[idx]=new mkMmPath(cu,ct,cf,cs,cl);} else{objMmInfo[idx]=new mkMmPath(cu,ct,cf,cl);} intActMmCnt=intSelMmCnt; intMmCnt=objMmInfo.length; } function mkSel(){ arrSelMm=null; intSelMmCnt=0; var selidx = 0; if(intMmCnt<=0){intCnSideBudStat=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;intCnSideBudStat=2; arrSelMm=null; return;} else{blnEnabled=true; mkAct();} } 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(); } function initCnSideBud(){ wmpInit(); mkSel(); blnfpl=false; time.style.pixelLeft=3; if(blnRept){imgChange('rept',1);} else{imgChange('rept',0);} if(blnRndPlay){imgChange('pmode',1);} else{imgChange('pmode',0);} showTLab(); disp1.innerHTML="METALism Music On"; disp4.innerHTML="METALism Music On"; if(blnStatusBar){window.status=('METALism Music On');} if(blnAutoStart){startCnSideBud();} } function startCnSideBud(){ var wmps= CnSideBud.playState; if(wmps==2){CnSideBud.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);} if(time.style.pixelLeft==null){time.style.pixelLeft=3;} } function selMmPlay(idx){ clearTimeout(tidErr); cActIdx=idx; var trknum=idx+1; var ctit =objMmInfo[idx].mmTit; var ccl =objMmInfo[idx].mmCl; if(ctit=="nAnT"){ctit="未注释歌曲"} if(blnUseSmi){CnSideBud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;} CnSideBud.URL = objMmInfo[idx].mmUrl; cActTit="T"+ trknum + ". " + ctit; disp1.innerHTML = cActTit; disp4.innerHTML = ccl; if(blnStatusBar){window.status=(cActTit);} chkItemAct(cActIdx); } function wmpPlay(){CnSideBud.controls.play();} function wmpStop(){ intErrCnt=0; clearTimeout(tidErr); clearInterval(tidTLab); imgChange("stopt",1); imgChange("pauzt",0); imgChange("scope",0); showTLab(); mkSelAct(); CnSideBud.controls.stop(); CnSideBud.close(); time.style.pixelLeft=3; disp1.innerHTML="CnSide Media Player"; if(blnStatusBar){window.status=('CnSide Media Player');return true;} } function wmpPause(){CnSideBud.controls.pause();} function wmpPP(){ var wmps = CnSideBud.playState; var wmpc=CnSideBud.controls; clearInterval(tidTLab); clearTimeout(tidMsg); if (wmps == 2) {wmpc.play();} if (wmps == 3) {wmpc.pause();disp2.innerHTML="Pause"; tidMsg=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){startCnSideBud();} else{wmpStop();} } else{ if(blnRndPlay){rndPlay();} else{cActIdx= arrActMm[0]; selMmPlay(cActIdx);} } } function selPlPlay(idx){ blnfpl=true; selMmPlay(idx); } function playPrev(){ var wmps= CnSideBud.playState; if(wmps==2 || wmps==3){CnSideBud.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){startCnSideBud();return;} if(idx<0){idx=intSelMmCnt-1;cActIdx=arrSelMm[idx];} else{cActIdx=arrSelMm[idx];} selMmPlay(cActIdx); } } function playNext(){ var wmps= CnSideBud.playState; if(wmps==2 || wmps==3){CnSideBud.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){startCnSideBud();return;} if(idx>=intSelMmCnt){idx=0;cActIdx=arrSelMm[idx];} else{cActIdx=arrSelMm[idx];} selMmPlay(cActIdx); } } function retryPlay(){ selMmPlay(cActIdx); } function chkRept(){ var wmps=CnSideBud.playState; if(wmps == 3){clearInterval(tidTLab);} if(blnRept){blnRept=false; imgChange('rept',0);disp2.innerHTML="Norm. Play";} else{blnRept=true; imgChange('rept',1);disp2.innerHTML="Repeat";} tidMsg= setTimeout('rtnTLab()',1000); } function chgPMode(){ var wmps=CnSideBud.playState; if(wmps == 3){clearInterval(tidTLab);} if(blnRndPlay){blnRndPlay=false; imgChange('pmode',0);disp2.innerHTML="SEQ. Play";} else{blnRndPlay=true; imgChange('pmode',1);disp2.innerHTML="RND. Play";} tidMsg=setTimeout('rtnTLab()',1000); } function evtOSChg(f){ // 0(Undefined) 8(MediaChanging) 9(MediaLocating) 10(MediaConnecting) 11(MediaLoading) // 12(MediaOpening) 13(MediaOpen) 20(MediaWaiting) 21(OpeningUnknownURL) if(f==8){capText.innerHTML='<iframe name="ads" id="ads" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="width:100%;height:60;overflow:hidden;" allowtransparency src="ads.html"></iframe>';} if(f==13){ var strTitle = CnSideBud.currentMedia.getItemInfo("title"); if(strTitle.length <=0){strTitle = "未知"} var strAuthor = CnSideBud.currentMedia.getItemInfo("Author"); if(strAuthor.length <=0){strAuthor = "未知"} var strCopy = CnSideBud.currentMedia.getItemInfo("Copyright"); if(strCopy.length <=0){strCopy = "未知"} var strType = CnSideBud.currentMedia.getItemInfo("MediaType"); var strDur=CnSideBud.currentMedia.durationString; var strUrl =CnSideBud.URL; var trknum=cActIdx+1; var ctit = objMmInfo[cActIdx].mmTit; var ccl = objMmInfo[cActIdx].mmCl; if(ctit=="nAnT"){ objMmInfo[cActIdx].mmTit = strAuthor + " - " + strTitle; ctit=strAuthor + " - " + strTitle; cActTit="T"+ trknum + ". " +ctit; disp1.innerHTML = cActTit; disp4.innerHTML = ccl; } strMmInfo= "Media (Title) : " + strTitle + " (CnSide MP:" + strType +")" + "\n" strMmInfo= strMmInfo + "Media (Author) : " + strAuthor + "\n" strMmInfo= strMmInfo + "Media (URL) : 媒体路径已被隐藏 \n"; //strMmInfo= strMmInfo + "Media (URL) : " +strUrl + "\n" strMmInfo= strMmInfo + "Media (Copyright) : " + strCopy +"\n" strMmInfo= strMmInfo + "Media (Duration) : " +strDur +"\n\n"; strMmInfo= strMmInfo + "意念首页:http://www.cnside.com \n"; strMmInfo= strMmInfo + "CnSide MP 2002-2003\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; } } //evtWmpBuff() function evtWmpBuff(f){ if(f){ disp2.innerHTML = "Buffering"; var msg="Loading..." + cActTit; disp1.innerHTML = msg; if(blnStatusBar){window.status=(msg);} } else{ disp1.innerHTML=cActTit; var ccl = objMmInfo[cActIdx].mmCl; disp4.innerHTML=ccl; showTLab(); } } //evtWmpError() function evtWmpError(){ intErrCnt=intErrCnt+1; if(intErrCnt<=3){ disp2.innerHTML="Error("+intErrCnt+")"; var msg="(Error:" + intErrCnt +") " +cActTit; disp1.innerHTML="Error..." +cActTit; disp4.innerHTML='发生错误'; 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); time.style.pixelLeft=3; disp1.innerHTML="CnSide MP Player"; disp4.innerHTML="播放器已停止"; if(blnStatusBar){window.status=('CnSide MP Player');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); } //showTLab() function showTLab(){ var ps=CnSideBud.playState; if(ps==2 || ps==3){ var cp=CnSideBud.controls.currentPosition var cps=CnSideBud.controls.currentPositionString var dur=CnSideBud.currentMedia.duration; var durs=CnSideBud.currentMedia.durationString; if(blnElaps){disp2.innerHTML= cps+" | "+durs; var msg=cActTit + " ("+cps+" | "+durs+ ")"; if(ps==2){msg="(CnSide MP) "+ 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="(CnSide MP) "+ msg;} if(blnStatusBar){window.status=(msg);return true;} } //PrositionBar if (CnSideBud.controls.currentPosition>0){ var now_postion=Math.floor(cp); var total_postion=Math.floor(dur); var postion_value=((now_postion * 200) / total_postion) +3; if (postion_value){ document.all.time.style.pixelLeft=postion_value; } } // } else{disp2.innerHTML="00:00 | 00:00";} } function chgTimeFmt(){ var wmps=CnSideBud.playState; if(wmps == 3){clearInterval(tidTLab);} if(blnElaps){blnElaps=false; disp2.innerHTML="Laps";} else{blnElaps=true;disp2.innerHTML="ELaps";} tidMsg=setTimeout('rtnTLab()',1000); } // rtnTLab() function rtnTLab(){ clearTimeout(tidMsg); var wmps=CnSideBud.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 time_startpoint=3; var time_endpoint=200; var chkEvent = 0; function SetStatebar(){ if(Math.floor(CnSideBud.controls.currentPosition)>0){ positionSet=true; iex=event.clientX; tempx=time.style.pixelLeft; document.onmousemove=positionDragControl; if (document.all){document.onmouseup=playerSetPosition;} } } function positionDragControl(){ if (positionSet){ var mov = tempx+event.clientX-iex; if ((mov >= time_startpoint) && (mov < time_endpoint)){ time.style.pixelLeft=mov; if ( chkEvent != 3 ) { chkEvent++; } else { chkEvent = 0; } } return false; } } function playerSetPosition(){ if (positionSet){ positionSet=false; CnSideBud.controls.CurrentPosition = Math.floor(CnSideBud.currentMedia.duration *((time.style.pixelLeft-4)/196)); } } function drag_dropie(){ if (setVolMove){ var mov = Pos_Left+event.clientX-XX; if ((mov >= 100) && (mov < 170)){ cutpoint=170-sound.style.pixelLeft; sound.style.pixelLeft=Pos_Left+event.clientX-XX; CnSideBud.settings.Volume=100-(100*(cutpoint/60)); disp2.innerHTML="Vol. " + CnSideBud.settings.Volume +"%"; if (mov < 100) { CnSideBud.settings.Mute = true; } else { CnSideBud.settings.Mute=false; } }return false; } } function SetVolume(){ XX=event.clientX; Pos_Left=sound.style.pixelLeft; setVolMove=true; document.onmousemove=drag_dropie; if (document.all){document.onmouseup=endVolume;} } function endVolume(){setVolMove=false;} function waitMsg(){ capText.innerHTML='<iframe name="ads" id="ads" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="width:100%;height:60;overflow:hidden;" allowtransparency src="ads.html"></iframe>'; if(intCnSideBudStat ==1){disp1.innerHTML="CnSide MP Player";} if(intCnSideBudStat ==2){disp1.innerHTML="CnSide MP Player";} if(blnStatusBar){ if(intCnSideBudStat ==1){window.status=('CnSide MP Player');return true;} if(intCnSideBudStat ==2){window.status=('CnSide MP Player'); return true;} } } 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 CnSideBud.playState; } function chkWmpOState(){ // 0(Undefined) 8(MediaChanging) 9(MediaLocating) 10(MediaConnecting) 11(MediaLoading) // 12(MediaOpening) 13(MediaOpen) 20(MediaWaiting) 21(OpeningUnknownURL) return CnSideBud.openState; } function chkOnline(){ // true(Network Connected) false(Network Lost) return CnSideBud.isOnline; } function vizCnSideBud(){ //CnSideBud.launchURL("http://www.cnside.com"); window.open("http://www.cnside.com","vizCnSideBud"); }