封装的一个播放器wmv

播放器

//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;ilgh-1)num=0;
sID[num]=x;
topn=num;
}
this.output=function()
{
if(lenght>0)
{
lenght--;
num--;
}
this.isTop=false;
if(numlgh-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="当前:"
+mediaObj.status
+"--"
+Music[SoundID].name+"--    下一首--"
+Music[nextID].name+"  ";
//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(vol0)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 ");
}
}

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();//初始化并开始播放

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

由主页面弹出的菜单页面代码--XBandLH.htm

播放清单

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













|<< <   
>  >>|

 
 

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"+(menuPage+1)+"*"
}
return str;
}
function MadeListHtml(st,l)
{
var str='';
var name='';
while(l-- && st"+(st+1)+"."+name+"
";
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

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 封装的一个播放器wmv

    播放器 //linfeng@gx165.com function classMedia(_mediaid,_showTextid,_objname) { //外部属性========================================================================= this.CYL=true;//连续播放标志 this.RDM=false;//无序播放(true为无序播放) this.MASMODE=true;//主模式,当用弹出式窗口控制时是从模

  • iOS开发中音频工具类的封装以及音乐播放器的细节控制

    一.控制器间数据传递 两个控制器之间数据的传递 第一种方法: 复制代码 代码如下: self.parentViewController.music=self.music[indexPath.row]; 不能满足 第二种做法:把整个数组传递给它 第三种做法:设置一个数据源,设置播放控制器的数据源是这个控制器.self.parentViewController.dataSource=self;好处:没有耦合性,任何实现了协议的可以作为数据源. 第四种做法:把整个项目会使用到的音频资源交给一个工具类去

  • iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南

    AudioServicesPlaySystemSound音频服务 对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规则: 1.音频长度小于30秒 2.格式只能是PCM或者IMA4 3.文件必须被存储为.caf..aif.或者.wav格式 4.简单音频不能从内存播放,而只能是磁盘文件 除了对简单音频的限制外,你对于音频播放的方式也基本无法控制.一旦音

  • vue3中实现音频播放器APlayer的方法

    目录 前言: 官方: 实现步骤: 前言: vue2的时候,分享了一个很好用的插件是vue-aplayer,但是他是不支持vue3的,这里分享vue3使用APlayer来实现一个播放器的方法. 实现效果: 官方: git地址:点我 api地址:点我 实现步骤: 1.安装 npm: npm install aplayer --save Yarn: yarn add aplayer 2.页面中引入 import APlayer from 'APlayer'; import 'APlayer/dist/

  • 关于网页媒体播放器兼容性的问题(附原码) 下载

    今天看到个不错的网页播放器,感觉不错,大家可以测试我写的一个播放器网页: 通过网页可以控制: 1.播放|暂停|停止|下一曲|上一曲|快进|快退(MediaPlayer.html) 2.有音|静音|音量大小|声道调节(options.html?Sound) 3.以重复播放|自动播放|全屏播放网络或本地文件(options.html?File) 4.列出媒体文件的信息(options.html?Info) 5.Windows Media Player的控制信息(options.html?Help)

  • PJBlog插件 防刷新的在线播放器

    该播放器类似框架式的~设置在页面底部~即使查看网页的另一个页面,歌曲也不会因为刷新而停止并重新播放~播放器样式是防apple的~粉红色~你也可以自己制作一个播放器~具体设置,下载文件夹里都有了~使用方法呢~最好将文件夹里的所有文件传到根目录~不要放在文件夹里,然后将你所在的服务器的默认首页改为index.html 不过个人觉得,也许会妨碍页面访问速度哦~!自己试试看吧,另外,在你退出后台的时候,再次回到页面就不是index首页啦~而是default首页~懂的人可以自己设置~ 大致的步骤:将文件夹

  • java音乐播放器课程设计

    一.课程设计目的 1.编程设计音乐播放软件,使之实现音乐播放的功能. 2.培养学生用程序解决实际问题的能力和兴趣. 3.加深java中对多媒体编程的应用. 二.课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1.系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能. 2.编程简练,可用,尽可能的使系统的功能更加完善和全面 3.说明书.流程图要清楚. 三.课程设计内容 1.课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首.

  • JavaScript实现网页播放器

    今天我和大家分享用JavaScript在网页编写一个播放器. 对于播放器,大家都不陌生,那么要怎么样才能实现它呢? 下面是我做的一个播放器的图 首先我们从上向下看看这个播放器,它的最上面是标题(head):我的音乐:中间是内容(body):歌曲:最下面(foot):控制音乐播放的控件.标题部分就只有标题:我的音乐,而中间内容部分是歌单,每个歌曲都有一个播放图标(音乐播放时才有)和歌曲的信息,底部部分有一些控制播放的图标.当前播放歌曲名.歌曲播放进度还有歌曲播放时长. 布局这块我们要保存结构与样式

  • 网页播放器 windowsmediaplay中控制从wmv的指定时间开始播放,指定时间停止播放

    1.Mediaplay播放器插入方法 插入-媒体-ActiveX 属性设置: ClassID:CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 参数: URL:文件路径名称 PlayCount :整数 AutoStart :自动播放:1 不播放:0 fullScreen :是否自动全屏 0不1是 volume :0-100 代码 1.window.media.player <object classid="clsid:22D6F312-B0F6-11D0

  • ios开发:一个音乐播放器的设计与实现案例

    这个Demo,关于歌曲播放的主要功能都实现了的.下一曲.上一曲,暂停,根据歌曲的播放进度动态滚动歌词,将当前正在播放的歌词放大显示,拖动进度条,歌曲跟着变化,并且使用Time Profiler进行了优化,还使用XCTest对几个主要的类进行了单元测试. 已经经过真机调试,在真机上可以后台播放音乐,并且锁屏时,显示一些主要的歌曲信息. 根据歌曲的播放来显示对应歌词的.用UITableView来显示歌词,可以手动滚动界面查看后面或者前面的歌词. 并且,当拖动进度条,歌词也会随之变化,下一曲.上一曲依

随机推荐