| deserts |
2006-11-05 15:22 |
演示地址:http://ae.lovemycn.com/mzymusic/play.htm
完整源码下载地址:http://www.lovemycn.com/index.asp?job=vtp&id=20060772311171438
// 内容开始 ---------------------------------------------
1. mzyplay.css 文件内容 .butt{color: #FFFFFF; font-weight: bold;border:#006666 1px solid; padding-top:2px;font-size:12px;FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#99CC00,endColorStr=#336600);} .tabbj{color: #000000;border:#006666 1px solid; padding: 4px;font-size:12px;FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#99CC00,endColorStr=#336600);} .xxl{width:98%;color:#993300;border:#006666 1px solid; padding: 4px;font-size:12px;FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#336600,endColorStr=#CCCC00);} .rclbj{background-color: #000000; color: #00FF00; border: 1 groove #C0C0C0; padding: 4;font-size: 12px; font-family: 宋体; line-height: 200%; word-spacing: 1;} .impor{letter-spacing: 1; padding: 4;font-size: 14px;color: #00FF00;filter:glow(color=#0099CC,strength=10);} .barstyle{position:relative;width:214px; height:2px; z-index:1; background-color: #336600;} .handstyle{font-size:12px;color:#336600;cursor: w-resize;position:absolute; width:8px; height:9px; z-index:1; top:-4px;filter: DropShadow(Color=#000000, OffX=2, OffY=1, Positive=1);} .tabbja{color: #000000;border:#006666 1px solid; padding: 0px;font-size:12px;FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#99CC00,endColorStr=#336600);}
2.play.htm 文件内容 <html>
<head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <link href='mzyplay.css' rel='stylesheet' type='text/css'> <title>MZYPLAY</title> </head> <script language=javascript src='mzylrc.js'></script> <body topmargin='0' leftmargin='0'> <p><textarea name='S1' height='0' border='0' style='visibility:hidden;position: absolute; left: 0; top: 0; width: 0;'> [ti:秋天不回来] [ar:王强] [al:秋天不回来] [by:yanjingang] [offset:500] [00:02.77]秋天不回来 [00:07.63] 歌手:王强 专辑:秋天不回来 [00:14.22] 初秋的天,冰冷的夜 [00:17.20]回忆慢慢袭来 [00:20.41]真心的爱就像落叶 [00:23.38]为何却要分开 [02:01.49][00:26.64]灰色的天独自彷徨 [02:05.00][00:29.62]城市的老地方 [02:07.40][00:32.64]真的孤单走过忧伤 [02:11.00][00:35.54]心碎还要逞强 [02:14.00][00:38.70]想为你披件外衣 [02:16.48][00:41.37]天凉要爱惜自己 [02:21.00][00:44.71]没有人比我更疼你 [02:26.19][00:50.79]告诉你在每个 [02:29.01][00:53.95]想你的夜里 [02:33.52][00:58.05]我哭的好无力 [03:32.63][03:04.08][02:38.50][01:02.96]就让秋风带走我的思念 [03:37.58][03:08.24][02:41.92][01:06.32]带走我的泪 [03:39.41][03:10.95][02:44.63][01:08.98]我还一直静静守候在 [03:44.01][03:14.34][02:47.94][01:12.57]相约的地点 [03:16.68][02:50.60][01:15.37]求求老天淋湿我的双眼 [03:20.46][02:54.04][01:18.68]冰冻我的心 [03:23.12][02:56.33][01:21.41]让我不再苦苦奢求你还 [03:26.45][01:24.49]回来我身边 我身边 [01:33.14] [02:59.98]回来我身边 </textarea></p> <div id='dplay' name='dplay'></div> <script language=javascript>drawplaybox('http://bbs.asroad.com/images/upload/2006/06/01/162525.wma');</script> <script language=javascript>lrcplaybox(S1.value);window.setTimeout('ck();',1000);</script>
</body>
3.mzylrc.js 文件内容
// 马政永做的在线播放器,带lrc歌词同步功能 //''''==============================================='''' //'''' 线播放器 '''' //'''' 本函数库作者:马政永,内蒙古阿拉善 '''' //''''作者主页:www.lovemycn.com or als.lovemycn.com '''' //''''作者邮箱:mzymcm@yahoo.com.cn Phone:13947490036'''' //'''' '''' //'''' 免费提供使用,但不要去版权信息 '''' //'''' '''' //'''' 马政永做的在线播放器,带lrc歌词同步功能 '''' //''''-----------------------------------------------''''
var playbox,lrcbox,playstarxx,lrc_gc,temti,temp,jybz,playendtime; lrc_gc = new Array(new Array()); temp = new Array(); temti =0; jybz =0; playendtime=0; var timeid=1; var maxtimeid=200; var dx; var n; // 画播放器 function drawplaybox(playfileurl) { playbox=""; playbox=playbox+"<table border='0' width='300' height='100' cellspacing='0' cellpadding='0' class='rclbj'><tr><td width='100%' ID='RCLRQ' NAME='RCLRQ' align='center'></td></tr></table>"; playbox=playbox+"<table border='0' width='300' cellspacing='0' cellpadding='0' class='tabbja'><tr><td width='260' valign='middle' align='center'>"; playbox=playbox+"<div id='bar' class='barstyle' valign='middle' align='left'><div id='handle' onmousedown='dragstart();' onmousemove='dragslide();' onmouseup='dragend();' class='handstyle'>▲</div></div>"; playbox=playbox+"</td><td width='40' valign='middle' align='center'>"; playbox=playbox+"<input type='text' name='T_jdt' class='xxl' ReadOnly>"; playbox=playbox+"</td></tr></table>"; playbox=playbox+"<table border='0' width='300' cellspacing='0' class='tabbj'><tr><td width='100%' valign='middle' align='center'>"; playbox=playbox+"<marquee scrollamount='1' scrolldelay='80' class='xxl' title='马政永做的在线播放器,带lrc歌词同步功能 http://www.lovemycn.com '><div ID='PLAYXX' NAME='PLAYXX'></div></marquee></td>"; playbox=playbox+"<td valign='middle' align='center'><input type='button' value='▲' name='B_play' class='butt' title='播放' OnClick='MZYPLAY.controls.play();buttonzt(this.name);'></td>"; playbox=playbox+"<td valign='middle' align='center'><input type='button' value='□' name='B_stop' class='butt' title='暂停' OnClick='MZYPLAY.controls.pause();buttonzt(this.name);'></td>"; playbox=playbox+"<td valign='middle' align='center'><input type='button' value='◎' name='B_sound' class='butt' title='静音' OnClick='pr_jy();'></td>"; playbox=playbox+"<td valign='middle' align='center'><input type='button' value='↑' name='B_add' class='butt' title='加大音量' OnClick='pr_yl_d(10);'></td>"; playbox=playbox+"<td valign='middle' align='center'><input type='button' value='↓' name='B_des' class='butt' title='减小音量' OnClick='pr_yl_d(-10);'></td>"; playbox=playbox+"</tr></table>"; playbox=playbox+"<object classid='clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6' id='MZYPLAY' name='MZYPLAY' width='0' height='0' border='0' style='visibility:hidden;position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 0'>"; playbox=playbox+"<param name='URL' value='"+playfileurl+"'>"; playbox=playbox+"<param name='autoStart' value='0'>"; playbox=playbox+"<param name='volume' value='100'>"; playbox=playbox+"</object>"; dplay.innerHTML=playbox; }
// 按钮初始化 function buttonzt(name) { B_play.disabled=false; B_stop.disabled=false; if (name=='B_play'){B_play.disabled=true;} if (name=='B_stop'){B_stop.disabled=true;} }
// 画歌词的容器 function lrcplaybox(lrctxt) { lrctxt = lrctxt.replace(/\[\:\][^$\n]*(\n|$)/g,"$1"); lrctxt = lrctxt.replace(/\[[^\[\]\:]*\]/g,""); lrctxt = lrctxt.replace(/\[[^\[\]]*[^\[\]\d]+[^\[\]]*\:[^\[\]]*\]/g,""); lrctxt = lrctxt.replace(/\[[^\[\]]*\:[^\[\]]*[^\[\]\d\.]+[^\[\]]*\]/g,""); lrctxt = lrctxt.replace(/<[^<>]*[^<>\d]+[^<>]*\:[^<>]*>/g,""); lrctxt = lrctxt.replace(/<[^<>]*\:[^<>]*[^<>\d\.]+[^<>]*>/g,""); lrctxt = lrctxt.replace(/\n/g,"<br>"); lrcbox="<div id='lrclina' name='lrclina'></div><div id='lrclinb' name='lrclinb'></div><div id='lrclinc' name='lrclinc'></div>"; RCLRQ.innerHTML=lrcbox; fgjm(lrctxt); }
// 将播放器的音量增大或减小 function pr_yl_d(sz){ MZYPLAY.settings.volume=MZYPLAY.settings.volume+sz; } // 播放器静音或放音 function pr_jy(){ if (jybz=='0'){MZYPLAY.settings.Mute='-1';jybz='-1';} else{MZYPLAY.settings.Mute='0';jybz='0';} }
// 处理歌词 function fgjm(stringlrc) { var alltemp_split = stringlrc.split("<br>"); var allgc=new Array(),vi; vi=0; for (loop=0; loop < alltemp_split.length; loop++) {if (alltemp_split[loop].length > 1 ) { allgc[vi]=alltemp_split[loop]; vi++; } } vi=0; for (loop=0; loop < allgc.length; loop++) { var temp_split=allgc[loop].split("]"); var tteemm=temp_split[temp_split.length-1] for (i=0; i < temp_split.length-1; i++) { temp[0]='';temp[1]=''; var timetemp=temp_split timetemp=timetemp.replace(/\[/g,""); timetemp=timetemp.replace(/\]/g,""); var ata=timetemp.split(":"); var ata_mi=ata[0]; var ata_searr=ata[1]; var searstr; if (ata_searr.search(".") < 1) { ata_searr=ata_searr+".0"; } searstr=ata_searr.split("."); var ata_se=searstr[0]; var ata_seh=searstr[1]; var ata_m=parseFloat(ata_mi)*6000 +parseFloat(ata_se)*100 + parseFloat(ata_seh); var tempata=Math.round(ata_m); var strtempata=tempata.toString(); var tempws="0000000000"; strtempata=tempws.substr(strtempata.length)+strtempata; temp[0]=strtempata; temp[1]=tteemm; lrc_gc[vi]=[temp[0],temp[1]]; vi++; } } lrc_gc.sort(); }
//排序定义 var pxa=2; var pxb=1; function order(pxa, pxb) { if (pxa>pxb) { return -1; //表示a排在b的前面 } else if (pxa<pxb) { return 1; //表示a排在b的后面 } else { return 0; //表示相同的不进行排序 } }
// 测试播放器状态 function ck() { playstarxx=MZYPLAY.playState; if (playstarxx==10) {PLAYXX.innerHTML="准备就绪";} if (playstarxx==9) {PLAYXX.innerHTML="正在连接到媒体";} if (playstarxx==8) {PLAYXX.innerHTML="已播放完毕";orig();} if (playstarxx==7) {PLAYXX.innerHTML="等待中";} if (playstarxx==6) {PLAYXX.innerHTML="缓冲处理中";sgcid();} if (playstarxx==5) {PLAYXX.innerHTML="向后搜索";} if (playstarxx==4) {PLAYXX.innerHTML="向前搜索";} if (playstarxx==3) {PLAYXX.innerHTML="正在播放中"; listlrctxt();} if (playstarxx==2) {PLAYXX.innerHTML="已暂停播放";} if (playstarxx==1) {PLAYXX.innerHTML="已停止播放";orig();} if (playstarxx==0) {PLAYXX.innerHTML="";} playendtime=MZYPLAY.currentMedia.duration; window.setTimeout('ck();',100); }
// 初始化 function orig() { lrclina.innerHTML=""; lrclinb.innerHTML=""; lrclinc.innerHTML=""; temti=0; }
// 查找歌词ID点 function sgcid() { var yit=parseFloat(readplaytime(MZYPLAY.controls.currentPosition)); for (loop=0; loop < lrc_gc.length; loop++) { if ( yit >= parseFloat(lrc_gc[loop][0])); temti=loop; break; } }
// 显示歌词 function listlrctxt() { var cp_cpbt=MZYPLAY.currentmedia.getiteminfo('Album'); var cp_ysj=MZYPLAY.currentmedia.getiteminfo('Artist'); var cp_zuozhe=MZYPLAY.currentmedia.getiteminfo('author'); var cp_bt=MZYPLAY.currentmedia.getiteminfo('title'); var cp_zt=MZYPLAY.currentmedia.getiteminfo('subject'); PLAYXX.innerHTML='唱片标题:'+cp_cpbt+' 艺术家:'+cp_ysj+' 作者:'+cp_zuozhe+' 标题:'+cp_bt+' 主题:'+cp_zt; var nowcurr=MZYPLAY.controls.currentPosition; var Nowplaytime=parseFloat(readplaytime(nowcurr)); playendtime=MZYPLAY.currentMedia.duration; var Endplaytime=parseFloat(readplaytime(playendtime));
handle.style.left=parseInt((200/playendtime) * nowcurr); T_jdt.value=parseInt(nowcurr);
var NowGCtime; if (temti < lrc_gc.length){ NowGCtime =parseFloat(lrc_gc[temti][0]);} var NowGCnext; if (temti < lrc_gc.length-2) { NowGCnext =parseFloat(lrc_gc[temti+1][0]); } else { NowGCnext =Endplaytime; } if ((Nowplaytime >= NowGCtime) && (Nowplaytime < NowGCnext)) { if (temti>0){lrclina.innerHTML=lrc_gc[temti-1][1];} lrclinb.innerHTML="<table border='0' width='100%' cellspacing='0' cellpadding='0'><tr><td width='100%' class='impor' align='center'>"+lrc_gc[temti][1]+"</td></tr></table>"; lrclinc.innerHTML=""; if (temti<lrc_gc.length-2){lrclinc.innerHTML=lrc_gc[temti+1][1];} temti=temti+1; } }
// 读取时间 function readplaytime(jdtime) { var mi=Math.floor(jdtime/60)%60; var se=Math.floor(jdtime%60); var hse=Math.floor(jdtime*100-mi*60*100-se*100); var oksj=mi.toString()+":"+se.toString()+"."+hse.toString(); var ata=oksj.split(":"); var ata_mi=ata[0]; var ata_searr=ata[1]; var searstr; if (ata_searr.search(".") < 1) { ata_searr=ata_searr+".0"; } searstr=ata_searr.split("."); var ata_se=searstr[0]; var ata_seh=searstr[1]; var ata_m=parseFloat(ata_mi)*6000 +parseFloat(ata_se)*100 + parseFloat(ata_seh); var tempata=Math.round(ata_m); return tempata.toString(); }
function MM_reloadPage(init) { if (init==true) with (navigator) { if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true);
function dragslide() { if (n==1) { var x=document.body.scrollLeft+event.clientX; if ((x-dx)<maxtimeid&&(x-dx)>0) { handle.style.left=x-dx; timeid=x-dx; }else if ((x-dx)>maxtimeid) { handle.style.left=maxtimeid; timeid=maxtimeid; } else if ((x-dx)<1) { handle.style.left=1; timeid=1; } var dwz=parseInt((playendtime/200) * timeid); T_jdt.value=parseInt(dwz); dwwz(dwz); } }
function dragstart() { n=1; dx=document.body.scrollLeft+event.clientX-handle.offsetLeft; handle.setCapture(); }
function dragend() { n=0; handle.releaseCapture(); }
// 定位 function dwwz(wz) { ndidz=parseFloat(readplaytime(wz)); for (loop=0; loop < lrc_gc.length; loop++) { if (parseFloat(lrc_gc[loop][0])>= ndidz){ temti=loop; MZYPLAY.controls.currentPosition=wz; break; } } } // 马政永做的在线播放器,带lrc歌词同步功能 //''''==============================================='''' //'''' 线播放器 '''' //'''' 本函数库作者:马政永,内蒙古阿拉善 '''' //''''作者主页:www.lovemycn.com or als.lovemycn.com '''' //''''作者邮箱:mzymcm@yahoo.com.cn Phone:13947490036'''' //'''' '''' //'''' 免费提供使用,但不要去版权信息 '''' //'''' '''' //'''' 马政永做的在线播放器,带lrc歌词同步功能 '''' //''''-----------------------------------------------''''
m1732006-7-7 15:33 歌词做成滚动那种会更好 helgqun2006-7-9 01:14 可以参考mp3.baidu.com,里面的试听有歌词滚动功能 |
|