分享
 
 
 

Winamp网页播放器代码

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

哈哈,早上5点醒来睡不着,到www.real2000.org听歌,看到这个播放器不错,于是把它给扣了出来。^_^

原先是分了几个js文件调用的,为了贴代码方便,偶都放在一个文件里了:)共有2个文件和几十个图片。

在线演示:http://music.lzr.com.cn/Apple/Winamp

打包下载:http://music.lzr.com.cn/Apple/File/Winamp.rar

另外演示里放的是周杰伦的新专集《十一月的萧邦》,其中《发如雪》很好听,偶喜欢,推荐大家听听,嘻嘻。

好了,现在开始贴代码咯:

主文件Default.htm如下:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>Winamp网页播放器</title>

<meta name="Author" content="Winamp网页播放器">

<meta name="Keywords" content="Dicky.CnBlogs.Com">

<meta name="Description" content="Winamp网页播放器">

<style type="text/css">

<!--

body {}{ background-color: #000000;}

p {}{ text-align: center; }

.title {}{ font-family: "宋体"; font-size: 9pt; color: #ffffff; }

.time {}{ font-family: 'Tahoma','Verdana','Arial'; font-size: 9pt; color: #000000; }

-->

</style>

<script type="text/javascript" language="javascript">

<!--

//原Exobud.js Added By Dicky 2005-11-7 7:09:21

var objMmInfo = null;

var intMmCnt = 0;

var intSelMmCnt = 0;

var intActMmCnt = 0;

var cActIdx = 0;

var cActTit = "nAnT";

var strMmInfo = "媒体档案信息";

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;

// 这是「自动连续播放」的设定。一般来说,播放一首音乐完毕后就会自动跳到下一首。

// 但是如果您要播放的媒体是视讯档案(例如:MV)的话,最好将这个设定值改为 false 。

// true = 自动连续播放

// false = 不要自动连续播放,让使用者自行挑选下一首曲目

var blnAutoProc = true;

// 设定播放面板上所显示的时间长度,预设是以正常方式(Elapse)抑或倒数方式(Lapse)显示:

// true = 以正常方式显示时间长度,即动态地显示曲目已播放的时间

// false = 以倒数方式显示时间长度,即动态地显示曲目剩余的时间

var blnElaps = true;

// 设定播放每首曲目之间的延迟时间(Delay Time),单位是毫秒(msec)。

// 每100毫秒代表0.1秒,默认值是500毫秒(即0.5秒),最少也要设为100毫秒。

var intDelay = 500;

// wmpInit() 函式: 使用 wmp-obj v7.x 链接库建立环境设定

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;

}

// mkMmPath() 函式: 准备建立 Multi-object 的数组

function mkMmPath(u,t,f,s){

this.mmUrl = "mms://218.75.129.247/www.ppzy.com/"+ungm(u);

this.mmTit = t;

this.mmDur = 0;

this.selMm = f;

this.actMm = f;

if(blnUseSmi){this.mmSmi=s;}

}

// mkList() 函式: 建立 Multi-object 的数组

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="nAnT";}

if(f=="f" || f=="F"){cf="f";}

else {cf="t"; intSelMmCnt++;}

if(blnUseSmi){

objMmInfo[idx]=new mkMmPath(cu,ct,cf,cs);

} else {

objMmInfo[idx]=new mkMmPath(cu,ct,cf);

}

intActMmCnt = intSelMmCnt;

intMmCnt = objMmInfo.length;

}

// mkSel() 函式: 建立已选取播放项目(Selected Media)的数组

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++;}

}

intSelMmCnt=arrSelMm.length;

if(intSelMmCnt<=0){blnEnabled=false; intExobudStat=2; arrSelMm=null; return;}

else {blnEnabled=true; mkAct();}

}

// mkAct() 函式: 建立已启用播放项目(Activated Media)的数组

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++;}

}

intActMmCnt=arrActMm.length;

}

else { return;}

if(intActMmCnt<=0){blnEOT=true;arrActMm=null;}

else {blnEOT=false;}

}

// chkAllSel() 函式: 全部选取所有的播放清单项目

function chkAllSel(){

for(var i=0; i<intMmCnt; i++){

objMmInfo[i].selMm="t";

objMmInfo[i].actMm="t";

}

mkSel();

}

// chkAllDesel() 函式: 不选取所有的播放清单项目

function chkAllDesel(){

for(var i=0; i<intMmCnt; i++){

objMmInfo[i].selMm="f";

objMmInfo[i].actMm="f";

}

mkSel();

}

// chkItemSel() 函式: 选取或不选取播放清单项目

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();

}

// chkItemAct() 函式: 将某个已启用播放项目(Activated Media)冻结

function chkItemAct(idx){

objMmInfo[idx].actMm="f";

mkAct();

}

// mkSelAct() 函式: 将已选取播放项目(Selected Media)加入到已启用播放项目(Activated Media)

function mkSelAct(){

var idx=0;

for(var i=0; i<intSelMmCnt; i++){

idx=arrSelMm[i];

objMmInfo[idx].actMm="t";

}

mkAct();

}

// initExobud() 函式: 初始化 ExoBUD MP 媒体播放程序

function initExobud(){

wmpInit();

mkSel();

blnfpl = false;

if(!blnShowVolCtrl) {

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 = "aboutplayer.com 真情为你服务";

if(blnStatusBar){ window.status=('aboutplayer.com 真情为你服务');}

if(blnAutoStart){startExobud();}

}

// startExobud() 函式: 开始播放曲目

function startExobud(){

var wmps = Exobud.playState;

if(wmps==2){

Exobud.controls.play();

try{clearInterval(play_time)}catch(e){}

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);}

}

// selMmPlay() 函式: 处理媒体标题

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();}

// wmpStop() 函式: 停止播放曲目及显示「就绪」状态讯息

function wmpStop(){

intErrCnt=0;

clearTimeout(tidErr);

clearInterval(tidTLab);

imgChange("stopt",1);

imgChange("pauzt",0);

imgChange("scope",0);

showTLab();

mkSelAct();

Exobud.controls.stop();

Exobud.close();

CourseButton.style.pixelLeft=0

disp1.innerHTML = "<font class=title>aboutplayer.com 真情为你服务</font>";

if(blnStatusBar){ window.status=('aboutplayer.com 真情为你服务');return true;}

}

// wmpPause() 函式: 使用 wmp-obj v7.x 链接库暂停播放曲目

function wmpPause(){Exobud.controls.pause();}

// wmpPP() 函式: 在暂停播放和继续播放之间进行切换

function wmpPP(){

var wmps = Exobud.playState;

var wmpc = Exobud.controls;

clearInterval(tidTLab);

clearTimeout(tidMsg);

if(wmps==2){wmpc.play();}

if(wmps==3){wmpc.pause(); disp2.innerHTML="<font color=#FFFFFF><b>暂停</b></font>"; tidMsg=setTimeout('rtnTLab()',1500);}

return;

}

// rndPlay() 函式: 随机播放(Random Play)的运算方式

function rndPlay(){

if(!blnEnabled){waitMsg();return;}

intErrCnt=0;

var idx=Math.floor(Math.random() * intActMmCnt);

cActIdx=arrActMm[idx];

selMmPlay(cActIdx);

}

// playAuto() 函式: 对已启用播放项目进行「自动连续播放」的处理

// 这是根据上面 blnAutoProc 的设定值而决定的动作。

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);

}

// playPrev() 函式: 播放上一首已启用播放项目

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);

}

}

// playNext() 函式: 播放下一首已启用播放项目

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);

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有