首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > Winamp网页播放器
【标  题】:Winamp网页播放器
【关键字】:Winamp
【来  源】:http://blog.csdn.net/AppleBBS/archive/2005/11/07/524218.aspx

Winamp网页播放器

    哈哈,早上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=falsereturn;} // 没有任何播放清单项目
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=nullreturn;}
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);}