📄 cnsidebud.js
字号:
var objMmInfo = null;
var intMmCnt = 0;
var cActIdx=0;
var cActTit="";
var strMmInfo ="SMusic Media Information";
var blnfpl=false;
var blnEnabled= false;
var blnEOT=false;
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;
var objLrc = null;
var isLRC=true,isGeci=true,curLyrictype=0,curLyricid=0;
var scrollSpeed=1;
var nonLRCHandle=null;
var initVolume = 80; //默认音量
var nextUrl = "";
function processKey() {
if ( event.keyCode == 90 || event.keyCode == 0x25) {playPrev();}
else if ( event.keyCode == 67 ) {wmpStop();}
else if ( event.keyCode == 86 || event.keyCode == 80) {startSMusic();}
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;
/**
* 初始化Windows Media Player 链接库建立环境设定
*/
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 = initVolume;
if(blnUseSmi) wmpc.captioningID="capText";
CnSideBud.enabled=true;
}
/**
* 创建 Multi-object-contents 的新数组
*/
function mkMmPath(i,u,t,s,l){
this.mmId = i;
this.mmUrl = u;
this.mmTit =t;
this.mmDur =0;
this.mmCl = l;
if(blnUseSmi){this.mmSmi=s;}
}
/**
* 给 Multi-object-contents数组附值
*/
function mkList(i,u,t,s,l){
var ci=i;
var cu=u;
var ct=t;
var cs=s;
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(l=="" || l==null){cl="未分类";}
if(blnUseSmi){objMmInfo[idx]=new mkMmPath(ci,cu,ct,cs,cl);}
else{objMmInfo[idx]=new mkMmPath(ci,cu,ct,cl);}
intMmCnt=objMmInfo.length;
}
/**
* 给 Multi-object-contents数组附值
*/
function initMPlayer(){
var re = new RegExp("(msie[^;^)^(]*)", "ig");
if(navigator.userAgent.search(re) == -1) {
alert("请使用IE浏览器访问,可能无法使用播放器功能!");
}
wmpInit();
if(intMmCnt<=0){
intCnSideBudStat=1;
blnEnabled=false;
}
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();
mpc_name.innerHTML="METALism Music On";
//disp4.innerHTML="METALism Music On";
if(blnStatusBar){window.status=('METALism Music On');}
if(blnAutoStart){startSMusic();}
}
/**
* 开始播放媒体
*/
function startSMusic(){
var wmps= CnSideBud.playState;
if(wmps==2){CnSideBud.controls.play(); return;}
if(wmps==3){return;}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
if(intErrCnt>0){intErrCnt=0;tidErr=setTimeout('retryPlay(),1000');return;}
if(blnRndPlay){rndPlay();}
else{
if(cActIdx>=intMmCnt||cActIdx<0) cActIdx=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;
var stat= parseInt(chkWmpOState());
cActTit="T"+ trknum + ". " + ctit;
mpc_name.innerHTML = cActTit;
//disp4.innerHTML = ccl;
if(blnStatusBar){window.status=(cActTit);}
//try{
//showLRC("http://home.sentfun.com/music/getMusicLrc.do?id="+ objMmInfo[idx].mmId);
///}catch(e){}
}
/**
* 使用wmp-obj播放媒体
*/
function wmpPlay(){CnSideBud.controls.play();}
/**
* 停止或等待播放
*/
function wmpStop(){
intErrCnt=0;
clearTimeout(tidErr);
clearInterval(tidTLab);
imgChange("stopt",1);
imgChange("pauzt",0);
//imgChange("scope",0);
showTLab();
CnSideBud.controls.stop();
CnSideBud.close();
time.style.pixelLeft=3;
mpc_name.innerHTML="等待播放";
if(blnStatusBar){window.status=('等待播放');return true;}
}
/**
* 暂停wmp-obj播放媒体
*/
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();mpc_time_played.innerHTML="暂停"; tidMsg=setTimeout('rtnTLab()',1500);}
return;
}
/**
* 随机播放(Random Play)模式
*/
function rndPlay(){
if(!blnEnabled){waitMsg();return;}
intErrCnt=0;
var idx=Math.floor(Math.random() * intMmCnt);
cActIdx= objMmInfo[idx];
selMmPlay(cActIdx);
}
/**
* 对已启用播放项目进行“自动连续播放”的处理
* 这是根据上面 blnAutoProc 的设定值而决定的动作。
*/
function playAuto(){
if(blnRept){ selMmPlay(cActIdx); return;}
if(!blnAutoProc){wmpStop();return;}
if(blnfpl){wmpStop(); return;}
if(!blnEnabled){wmpStop();return;}
if(blnEOT){
if(blnLoopTrk){startSMusic();}
else{wmpStop();}
}
else{
if(blnRndPlay){rndPlay();}
else{
//cActIdx= 0;
//selMmPlay(cActIdx);
playNext();
}
}
}
/**
* 播放使用者在播放清单上所点选的单一曲目
*/
function selPlPlay(idx){
var wmps= CnSideBud.playState;
if(wmps==2 || wmps==3) { CnSideBud.controls.stop(); }
blnfpl=false;
intErrCnt=0;
selMmPlay(idx);
}
/**
* 播放上一首
*/
function playPrev(){
var wmps= CnSideBud.playState;
if(wmps==2 || wmps==3){CnSideBud.controls.stop();}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
intErrCnt=0;
if(blnRndPlay){rndPlay();}
else{
cActIdx = cActIdx-1;
if(cActIdx<0){cActIdx = intMmCnt-1;}
selMmPlay(cActIdx);
}
}
/**
* 播放下一首媒体
*/
function playNext(){
var wmps= CnSideBud.playState;
if(wmps==2 || wmps==3){CnSideBud.controls.stop();}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
intErrCnt=0;
if(blnRndPlay){rndPlay();}
else{
cActIdx = cActIdx+1;
if(cActIdx >=intMmCnt){cActIdx = 0;}
selMmPlay(cActIdx);
}
}
/**
* 重试当前播放媒体
*/
function retryPlay(){
selMmPlay(cActIdx);
}
/**
* 重复播入当前媒体
*/
function chkRept(){
var wmps=CnSideBud.playState;
if(wmps == 3){clearInterval(tidTLab);}
if(blnRept){blnRept=false; imgChange('rept',0);mpc_time_played.innerHTML="Norm. Play";}
else{blnRept=true; imgChange('rept',1);mpc_time_played.innerHTML="Repeat";}
tidMsg= setTimeout('rtnTLab()',1000);
}
/**
* 选择播放模式:随机、顺序播放
*/
function chgPMode(){
var wmps=CnSideBud.playState;
if(wmps == 3){clearInterval(tidTLab);}
if(blnRndPlay){blnRndPlay=false; imgChange('pmode',0);mpc_time_played.innerHTML="顺序播放";}
else{blnRndPlay=true; imgChange('pmode',1);mpc_time_played.innerHTML="随机播放";}
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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -