代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
> >
封装的一个播放器wmv
时间:2020-12-25 13:28:57 | 栏目: | 点击:次
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>播放器</title> </head> <script language="javascript"> //linfeng@gx165.com function classMedia(_mediaid,_showTextid,_objname) { //外部属性========================================================================= this.CYL=true;//连续播放标志 this.RDM=false;//无序播放(true为无序播放) this.MASMODE=true;//主模式,当用弹出式窗口控制时是从模式 this.MSG=""; //消息 //-----初始化设置--------------------------------------------------------------------- var TimeOUT=20; var M_Stop=false; var mediaObj=document.getElementById(_mediaid); var showObj=document.getElementById(_showTextid); var SoundID=0; var nextID=1; var MusicLength=0; var Music=new Array(); var ACT; var sTime=TimeOUT; var WinOPEN; var revFlag=false; function duiLei() { var lgh=50 ;//队列长 var sID=new Array(); var num=0; var topn; var lenght=0; this.isTop=true; for(var i=0;i<lgh;i++) { sID[i]=0; } this.input=function(x) { num++; lenght++; if(num>lgh-1)num=0; sID[num]=x; topn=num; } this.output=function() { if(lenght>0) { lenght--; num--; } this.isTop=false; if(num<0)num=lgh-1; return sID[num]; } this.popID=function() { num++; lenght++; if(num>lgh-1)num=0; if(num==topn)this.isTop=true; return sID[num]; } this.GetIsButtom=function() { return lenght==0; } } var His=new duiLei(); this.AddList=function(u,n,f)//add Music { var tmp=(f==undefined)?"no":f; Music[Music.length]={url:u,name:n,file:tmp,id:MusicLength}; MusicLength=Music.length; } function PlayID(c_id) { mediaObj.controls.stop(); mediaObj.URL=Music[c_id].url; mediaObj.controls.play(); } function GetNextID(leg,RandomFlag,isMas) { var temp; if(His.isTop) { if(isMas) { if(RandomFlag) { temp=Math.round(Math.random()*(leg-1)) } else { temp=(SoundID+1)%leg; } }//-------- else { temp=GetMenuPlayNext(leg) } His.input(temp); return temp; } else { return His.popID(); } } function GetMenuPlayNext(length) { if(WinOPEN!=null && WinOPEN.open) { return WinOPEN.GetNextSoundID(); } else { return (SoundID+1)%length; } } function testTimeOut(s) { if(s) { TimeOUT--; if(TimeOUT==0) { TimeOUT=sTime; return true; } else { return false; } } else { TimeOUT=sTime; return false; } } function MsgRefresh()//更新消息 { var staText; staText="当前\""+Music[SoundID].name+SoundID+"\"下一首\""+Music[nextID].name+nextID+"\""; staText="<font color=yellow size='2'>当前:</font><font color=#00ffff size='2'>" +mediaObj.status +"</font><font color=#ff0000 size='2'>--" +Music[SoundID].name+"--</font> <a href='#huangXiangBin' onclick='"+_objname+".NEXT()'><font color=#00ff00 size='2'>下一首--</font></a><font color=#ff00ff size='2'>" +Music[nextID].name+"</font> "; //showObj.innerHTML=staText; ////////////////////////////////////////////////////////////////////// showObj.innerHTML=staText; /////////////////////////////////////////////////////////////////////// return staText; } this.RUN=function() { if(MusicLength==0)return; if(!M_Stop && this.CYL) { if(mediaObj.playState==6 && testTimeOut(1)) { this.NEXT(); } if(mediaObj.playState==10||mediaObj.playState==1) { testTimeOut(0); this.NEXT(); } } this.MSG=MsgRefresh(); } ACT=window.setInterval(_objname+".RUN();",3000); /////////////////////////////////////////////////////////////////////////////以下为程序接口 //////////////////////////////////----------播放控制------------------------- this.PLAY=function(s_id)//播放,如果无参数,即播放当前ID,有参数时,播放参数指定的ID { if(mediaObj.URL=="")mediaObj.URL=Music[0].url; if(arguments.length>0) { SoundID=s_id; PlayID(SoundID); } else { mediaObj.controls.play(); } this.MSG=MsgRefresh(); M_Stop=false; this.MASMODE=true; revFlag=false; } this.PAUSE=function()//暂停 { mediaObj.controls.pause(); this.MSG=MsgRefresh(); } this.REV= function(t)//播放上一首 { var idx=1; if(arguments.length>0)idx=t; if(!revFlag)idx++; for(;idx>0;idx--) { if(His.GetIsButtom())return;//没有前一首了 nextID=SoundID; //当带有参数时,将播放向下播放第N首 SoundID=His.output(); } PlayID(SoundID); this.MSG=MsgRefresh(); M_Stop=false;//停止标记 revFlag=true; } this.NEXT=function(t)//播放下一首,当带有参数时, { //将播放向下播放第N首,但只能是历史播放才有些功能 idx=1; if(arguments.length>0)idx=t; if(revFlag)idx++; for(;idx>0;idx--) { SoundID=nextID; nextID=GetNextID(MusicLength,this.RDM,this.MASMODE); if(His.isTop)break; } PlayID(SoundID); this.MSG=MsgRefresh(); M_Stop=false; revFlag=false; } this.STOP=function()//停止播放 { M_Stop=true; mediaObj.controls.stop(); } this.SETVOLUME=function(vol)//设置音量 { if(vol>100)vol=100; if(vol<0)vol=0; mediaObj.settings.volume=parseInt(vol); } //----------播放设置------------------------- this.SETRDM=function()//设置无序或是有序播放,调用一次,改变一次状态 { this.RDM=this.RDM?false:true; } this.SETCYCLE=function()//设置是否进行循环播放,调用一次,改变一次状态 { this.CYL=this.CYL?false:true; } this.INIT=function() { if(this.RDM==true)//无序播放 { SoundID=GetNextID(MusicLength,this.RDM,this.MASMODE); nextID==GetNextID(MusicLength,this.RDM,this.MASMODE); } if(!M_Stop) { PlayID(SoundID); } } //----------传输播放状态------------------------- this.SENDLRC=function(c_id)//无参数时读取当前歌曲的内容,如果有参数,则读取指定参数歌曲的内容 { if(arguments.length>0)return Music[c_id]; return Music[SoundID];//url:歌曲链接地址,name:歌曲名,file:LRC歌词地址(用于以后的功能扩展),id:歌曲的id } this.RESTA=function()//返回播放器状态 { return mediaObj.playState; } //----------外部播放控制接口------------------------- this.MENUPLAY=function(c_id,n_id)//播放,并且设置当前ID,和下一首的ID(作用是用在新开的窗口的接口) { SoundID=c_id; nextID=n_id; PlayID(SoundID); His.input(SoundID); this.MSG=MsgRefresh(); this.MASMODE=false; } this.GetMusicLength=function()//返回曲目总数 { return MusicLength; } this.OPENMUNU=function()//打开歌曲列表 { var url="XBandLH.htm?"+_objname; WinOPEN=window.open(url,"WinList", " width=250, height=300,scrollbars=1 "); } } </script> <body bgcolor=#000000> <div id=show></div> <input type="button" name="Submit" value="播放" onclick="oo.PLAY();"/> <input type="button" name="Submit2" value="上一首" onclick="oo.REV();" /> <input type="button" name="Submit3" value="下一首" onclick="oo.NEXT();" /> <input type="button" name="Submit0" value="停止" onclick="oo.STOP();" /> <input type="button" name="Submit4" value="打开歌曲列表" onclick="oo.OPENMUNU();" /> <input type="button" name="Submit5" value="随机/顺序" onclick="oo.SETRDM();" /> <input type="button" name="Submit5" value="连续/单曲" onclick="oo.SETCYCLE();" /> <object id='media1' classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 width='400' height='100'> <param NAME='URL' VALUE=''> <param NAME='rate' VALUE='-1'> <param NAME='balance' VALUE='0'> <param NAME='currentPosition' VALUE='0'> <param NAME='defaultFrame' VALUE=''> <param NAME='playCount' VALUE='1'> <param NAME='autoStart' VALUE='-1'> <param NAME='currentMarker' VALUE='0'> <param NAME='invokeURLs' VALUE='-1'> <param NAME='baseURL' VALUE=''> <param NAME='volume' VALUE='100'> <param NAME='mute' VALUE='0'> <param NAME='uiMode' VALUE='mini'> <param NAME='stretchToFit' VALUE='0'> <param NAME='windowlessVideo' VALUE='0'> <param NAME='enabled' VALUE='-1'> <param NAME='enableContextMenu' VALUE='0'> <param NAME='fullScreen' VALUE='0'> <param NAME='SAMIStyle' VALUE=''> <param NAME='SAMILang' VALUE=''> <param NAME='SAMIFilename' VALUE=''> <param NAME='captioningID' VALUE=''> <param NAME='enableErrorDialogs' VALUE='0'> <param NAME='_cx' VALUE='5080'> <param NAME='_cy' VALUE='5080'> </object> </body> <script language="javascript"> var oo=new classMedia('media1','show','oo');//第一个参数,播放器ID,第二个参数显示歌词容器ID,第三个参数,所创建的的对象变量名称 oo.AddList('http://qz.gx.vnet.cn/bbs/music/0731/02.wma','情归于尽','qingguiyijin.lrc'); oo.AddList('http://qz.gx.vnet.cn/bbs/music/0318/04.wma','熟能生巧','snsq.lrc'); oo.AddList('http://qz.gx.vnet.cn/bbs/music/0318/06.wma','人质','renzi.lrc'); oo.AddList('http://qz.gx.vnet.cn/bbs/music/0318/09.wma','夜曲','yeqi.lrc'); oo.AddList('http://qz.gx.vnet.cn/bbs/music/0318/10.wma','只对你说','zdns.lrc'); oo.AddList('http://bbs.yc360.net/music/suibianxiaohui.mp3','随便','suibian.txt'); oo.AddList('http://202.195.195.137/music/赵传/爱要怎么说出口.mp3','爱要怎么说出口','ayzmsck.lrc'); oo.AddList('http://ctone.zmcc.com.cn/ColorTone/music/03/01/01/c0301010559.wma','一辈子孤单','ybzgd.lrc'); oo.AddList('http://www.eqdu.com/modules/music/upload/music/200681441498453.mp3','青青河边草','qqhebianchao.lrc'); oo.AddList('http://www.vllan.com/bbs/UploadFile/2006-3/200631610291574926.mp3','在那遥远的地方','znyyddf.txt'); oo.AddList('http://www.badmintonfan.com/mv/cksdxz.mp3','从开始到现在 ','kadxz.lrc'); oo.AddList('http://www.tiantian2006.com/闪亮的日子-罗大佑.mp3','闪亮的日子 ','shanlian.lrc'); oo.AddList('http://www.blogd.cn/UploadFiles/2006-11/1113752996.mp3','菊花台','juhuatai.lrc'); oo.AddList('http://www.cxpre.com/tinguting/uploadfile/20059763413933.wma','莫斯科没有眼泪','mosike.lrc'); oo.AddList('http://down.yysy.net/Music/siledouyaoai.mp3','死了都要爱','xileai.lrc'); oo.AddList('http://maolv.cm310.com/mp3/206.mp3','嘟啊嘟'); oo.AddList('http://www.tt99w.com/dj/djku/kanshangta.mp3','看上她','kanshangta.lrc'); oo.AddList('http://www.nnred.com/bbs/mp3/11.mp3','飘移','piaoyi.lrc'); oo.AddList('http://www.1860tm.com/word/firstlove.mp3','第一次爱的人','diyiciairen.lrc'); oo.AddList('http://online.btvu.org/club/forum/files/307.mp3','爱你','ainiwang.lrc'); oo.AddList('http://www.7say.com/music/fly.wma','隐形的翅膀','yinche.lrc'); oo.AddList('http://www.malamusic.com.tw/ezfiles/mala/img/img/2275/marvin7.mp3','轮回'); oo.INIT();//初始化并开始播放 </script> </html>
[Ctrl+A 全选 注:
引入外部Js需再刷新一下页面才能执行
]
由主页面弹出的菜单页面代码--XBandLH.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>播放清单 </TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <style> A { COLOR: #334455; TEXT-DECORATION: none } A:link { COLOR: #334455; TEXT-DECORATION: none } A:visited { COLOR: #223344; TEXT-DECORATION: none } A:active { COLOR: #334455; TEXT-DECORATION: none } A:hover { COLOR: gold; TEXT-DECORATION: none } BODY { MARGIN: 0px; CURSOR: crosshair; BACKGROUND-COLOR: #8498a3 } BODY { FONT-SIZE: 9pt; COLOR: #b0c0d0; FONT-FAMILY: 'Tahoma','Verdana','Arial' } TD { FONT-SIZE: 9pt; COLOR: #b0c0d0; FONT-FAMILY: 'Tahoma','Verdana','Arial' } a.redcolor:link,a.redcolor:visited{color:#ff7788;} a.redcolor:hover{color:#FF0000;TEXT-DECORATION:underline; } </style> </HEAD> <BODY onselectstart="return false" ondragstart="return false" leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"> <div style="display:none" id="SoundList"> </div> <TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD align=middle width="100%" bgColor=#304050 height=25><IMG height=25 alt="播放清单" src="img/pl.gif" width=157></TD></TR> <TR> <TD vAlign=top> <DIV id=showList> </DIV></TD> </TR> <TR> <TD vAlign=bottom align="center"> <DIV id=pageList><a href="#hxb" id="go0">|<<</a> <a href="#hxb" id="goRev"> <</a> <a href="#hxb" id="goNext">></a> <a href="#hxb" id="goEnd">>>| </a></DIV></TD></TR> <TR> <TD align="center" style="word-break: break-all; word-wrap:break-word;"> <table width="90%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><div id=pagenume></div></td> </tr> </table> </TD></TR> <TR> <TD align=middle bgColor=#304050 height=20><SPAN id=pageInfo></SPAN> <IMG title=全部选取 style="CURSOR: hand" height=10 src="img/pl_btn_allsel.gif" width=35 align=absMiddle border=0 id="selall"> <IMG title=全部不选 style="CURSOR: hand" height=10 src="img/pl_btn_desel.gif" width=35 align=absMiddle border=0 id="nosel"> <IMG title=播放已选取的曲目 style="CURSOR: hand" height=10 src="img/pl_btn_playsel.gif" width=35 align=absMiddle border=0 id="playdsel"> <IMG title=关闭播放清单窗口 style="CURSOR: hand" onclick=window.close() height=10 src="img/pl_btn_winclose.gif" width=35 align=absMiddle border=0> </TD></TR></TBODY></TABLE> </BODY> </HTML> <script language="javascript" type="text/jscript"> var CurrentId=0; var NextSoundId=0; //移除search方法留下的问号) OpenerMedia=eval("opener."+document.location.search.substring(1))//opener.oo; self.focus(); var CurrentPage=0; var PageSize=15; var SonndLenght=OpenerMedia.GetMusicLength(); var pageNume=Math.floor(SonndLenght/PageSize); if(pageNume<SonndLenght/PageSize) { pageNume+=1; } var MPSFlag=OpenerMedia.CYL;//循环 function PageNumeColor(p) { for(var i=0;i<pageNume;i++) { document.getElementById('pNume'+i).className=''; } document.getElementById('pNume'+p).className="redcolor"; } function MadePage(_id){ var htmlTag = document.getElementById('page'+_id); var tagDiv = document.getElementById('showList') if(htmlTag) return; var divobj = document.createElement('div'); divobj.style.display ='none'; divobj.id = 'page'+_id; divobj.innerHTML=MadeListHtml(_id*PageSize,PageSize) tagDiv.appendChild(divobj); } function MadePageNume() { var str='*'; for(var menuPage=0;menuPage<pageNume;menuPage++) { str+="<a href=#hxb onclick='GoPage("+menuPage+")' id='pNume"+menuPage+"'>"+(menuPage+1)+"</a>*" } return str; } function MadeListHtml(st,l) { var str=''; var name=''; while(l-- && st<SonndLenght) { name=OpenerMedia.SENDLRC(st).name;//.BgSoundName[st] str+="<input type=checkbox name=sound value="+st+"><a href=#hxb onclick='p("+st+")'>"+(st+1)+"."+name+"</a>"; st++; } return str; } function pageInit(p) { MadePage(0); document.getElementById('page0').style.display=''; document.getElementById('pagenume').innerHTML=MadePageNume(); PageNumeColor(0); } function HiddenPage() { for(var i=0;i<pageNume;i++) { if(document.getElementById('page'+i)) { document.getElementById('page'+i).style.display='none'; } } } function AllNoSel() { var a = document.getElementsByTagName("input"); for (var i=0; i<(a.length); i++) { if (a[i].type == "checkbox") a[i].checked = false; } } function SelAll() { var a = document.getElementsByTagName("input"); for (var i=0; i<(a.length); i++) { if (a[i].type == "checkbox") a[i].checked = true; } } function GoNextPage() { if(CurrentPage==pageNume-1)return; HiddenPage(); CurrentPage++; MadePage(CurrentPage); document.getElementById('page'+CurrentPage).style.display=''; PageNumeColor(CurrentPage); } function GoRevPage() { if(CurrentPage==0)return; HiddenPage(); CurrentPage--; MadePage(CurrentPage); document.getElementById('page'+CurrentPage).style.display=''; PageNumeColor(CurrentPage); } function GoPage0() { HiddenPage(); CurrentPage=0; MadePage(CurrentPage); document.getElementById('page0').style.display=''; PageNumeColor(CurrentPage); } function GoPageEnd() { HiddenPage(); CurrentPage=pageNume-1; MadePage(CurrentPage); document.getElementById('page'+(pageNume-1)).style.display=''; PageNumeColor(CurrentPage); } function GoPage(p) { HiddenPage(); CurrentPage=p; MadePage(CurrentPage); document.getElementById('page'+p).style.display=''; PageNumeColor(CurrentPage); } document.getElementById('selall').onclick=function(){SelAll()}; document.getElementById('nosel').onclick=function(){AllNoSel()}; document.getElementById('goNext').onclick=function(){GoNextPage()}; document.getElementById('goRev').onclick=function(){GoRevPage()}; document.getElementById('goEnd').onclick=function(){GoPageEnd()}; document.getElementById('go0').onclick=function(){GoPage0()}; document.getElementById('playdsel').onclick=function(){PlaySelMusic();}; pageInit(); //------------------------------------------------------------- function GetNextSoundID() { var a = document.getElementsByTagName("input"); var tmp=CurrentId; if(CurrentId==a.length-1)CurrentId=-1; while(CurrentId<a.length-1) { CurrentId++; if(a[CurrentId].type == "checkbox" && a[CurrentId].checked==true)return CurrentId; if(tmp!=-1 && CurrentId==a.length-1) { CurrentId=-1; tmp=-1; } } return(0); } function window.onunload() { OpenerMedia.MASMODE=true; } function p(x) { OpenerMedia.PLAY(x); opener=null; window.close(); } function PlaySelMusic() { CurrentId=-1; OpenerMedia.MENUPLAY(GetNextSoundID(),GetNextSoundID()); } </script>
[Ctrl+A 全选 注:
引入外部Js需再刷新一下页面才能执行
]
您可能感兴趣的文章:
R语言ggplot2边框背景去除的实现
使用“新网”接口的用户注意问题
正则表达式直接在EXCEL中使用的详细步骤
常见木马的手工清除方法
php半小时精通正则表达式
相关文章
05-16
Powershell小技巧之通过EventLog查看近期电脑开机和关机时间
05-16
IDEA配置GIT的详细教程
05-16
提高页面加载速度的几个方法小结
05-16
易语言设置组合框项目数值的方法
05-16
VMware Workstation虚拟机安装操作方法
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长