//******************************************************************************//
//制作时间 2011-10-28
//制作人:周超 David
//QQ:89182203
//注释:有些地方很杂乱技术有限代码已经尽量简化了
//******************************************************************************//
//以下是歌曲列表;可以改成自己喜欢的歌曲
var list=[//歌曲列表
['我只是宋洋洋','wozhishisongyangyang.mp3'],
['纯音乐','http://music.huoxing.com/upload/20121027/1351310850799_1891.mp3'],
['那一夜-罗百吉','http://www.zc520.cc/music/nayiye_luobaiji.mp3'],
['降龙十八掌 - 孙子涵','http://img.265g.com/images/1110/111025_xlsbz.mp3'],
['潮流串烧-六哲','http://bt.axiba.info/COFFdD0xMzMxMjYxNjUzJmk9MTE0Ljg1Ljg4Ljg0JnU9U29uZ3MvdjEvZmFpbnRRQy8yOS80Yzg2MzZjMzhiZDg5ZDAzYzlmOTc0MjkyOWJlNzYyOS5tcDMmbT1kYTlmZTE1ODllYTdlOTYzNTlhODAxNjM4YmZkYzk1NiZ2PWxpc3RlbiZuPbOxwfe0rsnVJnM9wfnV3CZwPXM=.mp3'],
['天真-徐良-阿悄','http://53244.42la.com.cn/Upload/2012314202421829.mp3'],
['燃点','http://file19.top100.cn/201203091436/FCA272F4CB8554890D293367180F0D0E/Special_382852/%E7%87%83%E7%82%B9.mp3'],
['午夜DJ-王绎龙','http://53244.42la.com.cn/Upload/2012315191417231.mp3'],
['《天真》-徐良-阿悄','http://53244.42la.com.cn/Upload/2012314202421829.mp3'],
['电音之王-王绎龙','http://53244.42la.com.cn/upload/20120317010149279.mp3'],
['潮流串烧-六哲','http://53244.42la.com.cn/upload/20120317235813985.mp3']
//菜鸟请主意:最后一个不要,
];
//初始化播放器
var config=new Array();//申明CONGIF数组
config["name"]="
Warning: file_get_contents(http://ip.taobao.com/service/getIpInfo.php?ip=18.117.93.231): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /www/wwwroot/www.is5.me/diytools/music/ip.php on line 13
Music Player 这家伙火星来的";//播放器名称;
config["play"]="play";//play加载时播放,stop加载时不播放;
config["desc"]=1;//1为随机播放,2为顺序播放,3单曲循环
config["list"]=true;//true为显示歌曲列表,false不显示歌曲列表;
config["timeout"]=10;//单位“秒”加载多少秒后没有播放就跳转到下一曲;
config["volume"]=60;//默认声音的大小1-100;
config["timeout"]*=5;//200微秒刷新一次所以1秒=5个200微秒
config["num"]=[['-1','12'],['-1','18']];//音量加减的左边和右边;
config["off_volume"]=false;//true为是,false为否;是否静音
config["config"]="";//播放器主界面加载代码
var p=0;p2=0;//P当前播放的序号;P2用于计时的,如果歌曲10秒之内还在链接的话播放直接下一曲
//music_player=document.getElementById("music_player");
var count=parseInt(list.length); //获取数组的长度
if(config["desc"]==1){//如果开启随机那么默认加载时就随机播放歌曲
p=p=parseInt(Math.random()*count+1)-1;
}
//播放器界面主程序
config["config"]+='
';
config["config"]+='
';
config["config"]+='
';
config["config"]+='
模式:顺序播放
';
config["config"]+='
';
config["config"]+='
100%
';
config["config"]+='
';
config["config"]+='
';
config["config"]+='
';
config["config"]+="
";
config["config"]+='
';
//输出主程序到页面中
document.write(config["config"]);
if(-1 != navigator.userAgent.indexOf("Firefox")){ music_player=document.getElementById("music_player"); }
function player(){//加载js默认执行的函数
if(count>1){
if(!config["list"]){//默认不显示列表则隐藏列表
$("#list").hide();
}
player_List();
if(config["play"]=="play"){//是否自动播放如果是则自动播发不是则需要手动播放
player_Play();
$("#play").hide();
}else{
$("#pause").hide();
$("#marquee").html("准备就绪,点击播放开始播放音乐!");
}
music_player.settings.volume=config["volume"];
if(config["play"]=="play"){
// document.getElementById("pause1").value="暂停";
}else{
// document.getElementById("pause1").value="播放";
}
}else{
alert("歌曲列表为空!请添加歌曲!");
}
player_Status();
}
window.onload=function(){player();}
function player_List(){//播放列表;
var text="";
for(i=0;i"+(i+1)+"."+list[i][0]+"";
}
text+="
";
document.getElementById("list").innerHTML=text;
}
function player_Status(){//播放状态
//alert("123");
if(music_player.URL!=""){
if(parseInt(music_player.controls.currentPosition)==parseInt(music_player.currentMedia.duration)-1){
player_Next();
}
if(p!=0){
if(music_player.playState==10){ player_Next();}
}
var text=document.getElementById("status2");
//text.innerHTML="12313";
if(music_player.playState==1){
text.innerHTML="停止播放:";
$("#play").show();
$("#pause").hide();
}else if(music_player.playState==2){
text.innerHTML="暂停播放:";
}else if(music_player.playState==3){
text.innerHTML="正在播放:";//+list[p][0]+" 播放进度:"+music_player.controls.currentPositionString+" | "+music_player.currentMedia.durationString+"|"+player_default(0);//测试数据用可以删掉
$(volume[1][0]).css({left:player_default(1)});
$(volume[1][3]).css({width:player_default(1)+13-darg_left(1,"l")});
$(volume[1][2]).html(music_player.controls.currentPositionString);
$("#zcd").html("/"+music_player.currentMedia.durationString);
p2=0;
if(config["off_volume"]){music_player.settings.mute=true; $("#volume").css({background:"url(images/volume_bt1.gif) no-repeat"});}
}else if(music_player.playState==6){
text.innerHTML="正在缓冲:";
}else if(music_player.playState==9){
$("#pause").show();
$("#play").hide();
if(music_player.playState!=10 || music_player.playState!=1){
p2++;
text.innerHTML="正在连接:";//+p2+config["timeout"];//测试数据用可以删掉
if(p2>=config["timeout"]){
player_Next();
}
}
}else{
text.innerHTML="准备就绪";
player_Next();
}
if(config["desc"]==1){
$("#desc2").html("随机播放");
}else if(config["desc"]==2){
$("#desc2").html("顺序播放");
}else{
$("#desc2").html("单曲循环");
}
//$("#test").html(p2+":"+config["timeout"]);
}
id=setTimeout("player_Status()",200);
}
function player_Pause(){//暂停和播放
if(music_player.playState==3){
// o.value="播放";
$("#play").show();
music_player.controls.pause();
}else if(music_player.playState==2){
music_player.controls.play();
//o.value="暂停";
$("#pause").show();
}else if(music_player.playState==1){
// o.value="暂停";
$("#pause").show();
player_Play();
}else{
//o.value="暂停";
$("#pause").show();
player_Play();
}
}
function player_Play(){
player_Stop();
p2=0;
music_player.URL=list[p][1];
music_player.controls.play();
c=$(".list li").length;
if(c>=0){
$(".list li").removeClass("cur");
$(".list li:eq("+p+")").addClass("cur");
}
$("#marquee").html(list[p][0]+" "+config["name"]);
}
function player_Change(url){//播放其它URL音乐
music_player.URL=url;
music_player.controls.play();
}
function player_Stop(){//停止播放
music_player.controls.stop();
}
function player_Goto(time){//跳转到
music_player.controls.currentPosition=time;
}
function player_Next(){//下一曲
if(config["desc"]==1){
p=parseInt(Math.random()*count+1)-1;
}else if(config["desc"]==3){
p=p;
}else{
p=p+1;
}
if(p>count-1){p=0;}
player_Play();
$("#play").hide();
$("#pause").show();
}
function player_Prev(){//上一曲
if(config["desc"]==1){
p=parseInt(Math.random()*count+1)-1;
}else if(config["desc"]==3){
p=p;
}else{
p=p-1;
}
if(p<0){p=count-1;}
player_Play();
$("#play").hide();
$("#pause").show();
}
function player_Desc(o){
config["desc"]++;
if(config["desc"]>3){
config["desc"]=1;
}
if(config["desc"]==1){
o.html("随机播放");
}else if(config["desc"]==2){
o.html("顺序播放");
}else{
o.html("单曲循环");
}
}
function player_Volume(obj){//静音
if(music_player.settings.mute){
music_player.settings.mute=false;
obj.css({background:"url(images/volume_bt2.gif) no-repeat"});
config["off_volume"]=false;
}else{
music_player.settings.mute=true;
obj.css({background:"url(images/volume_bt1.gif) no-repeat"});
config["off_volume"]=true;
}
}
var _move=false;//移动标记
var _x,_y;//鼠标离控件左上角的相对位置
var _obj=0;//判断点击的是哪个进度点
var volume=[
['#darg_volume','#setvolume','#volume_num','#vb1'],
['#darg_play','#play_body','#play_num','#pl1']
];
$(document).ready(function(){
$(volume[0][0]).click(function(){
//alert("click");//点击(松开后触发)//测试数据用可以删掉
//alert($(this).position().left);//测试数据用可以删掉
}).mousedown(function(e){
_move=true;
_x=e.pageX-parseInt($(this).position().left);
_y=e.pageY-parseInt($(this).position().top);
_obj=0;
//$(this).css({cursor:"pointer"});//按住时鼠标指针样式
$(this).fadeTo(20, 0.65);
});
//音量拖动解决OK The END
$(volume[1][0]).click(function(){
//alert("click");//点击(松开后触发)
}).mousedown(function(e){
_move=true;
_x=e.pageX-parseInt($(this).position().left);
_y=e.pageY-parseInt($(this).position().top);
_obj=1;
//$(this).css({cursor:"pointer"});//按住时鼠标指针样式
$(this).fadeTo(20, 0.65);
});
//进度滑块解决OK The End
$(document).mousemove(function(e){
if(_move){
var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
var y=e.pageY-_y;
//$("#idDrag").css({top:y,left:x});//控件新位置
var l=darg_left(_obj,"l");
var l2=darg_left(_obj,"l2");
var j=darg_left(_obj,"j");
if(x<=l){x=l;}else if(x>=l2){x=l2;}
if(_obj==0){
if(!music_player.settings.mute){
$(volume[_obj][0]).css({left:x});
var jj= parseInt((x-l)/j*100)!=null ? parseInt((x-l)/j*100) : 0;
$(volume[_obj][2]).html(jj);music_player.settings.volume=jj;
$(volume[_obj][3]).css({width:(x-l)+2});
}
}else if(_obj==1){
if(music_player.playState==3){
$(volume[_obj][0]).css({left:x});
var jj= parseInt((x-l)/j*100)!=null ? parseInt((x-l)/j*parseInt(music_player.currentMedia.duration-1)) : 0;
$(volume[_obj][2]).html(music_player.controls.currentPositionString);
player_Goto(jj);
//$(volume[_obj][2]).html(jj);
$(volume[_obj][3]).css({width:(x-l)+2});
//alert(l+":"+l2);
}
}
}
}).mouseup(function(){
_move=false;
//$(volume[_obj][0]).css({cursor:"default"});//松开后鼠标指针样式
$(volume[_obj][0]).fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
});
//音量进度点击加减音量
$(volume[0][1]).click(function(e){
var x=e.pageX-15;
_click(0,x);
});
//播放进度点击快进
$(volume[1][1]).click(function(e){
var x=e.pageX-15;
_click(1,x);
});
//默认音量的100%
$(volume[0][3]).css({width:parseInt(config["volume"]*darg_left(0,"j")/100)+10+"px"});
//alert(darg_left(0,"j"));//测试数据用可以删掉
$(volume[0][2]).html(config["volume"]);
$(volume[0][0]).css({left:player_default(0)});
//alert(player_default(0));//测试数据用可以删掉
//以下是各类按钮点击时间注册
$("#pause").click(function(){$(this).hide();player_Pause();});
$("#play").click(function(){$(this).hide();player_Pause();});
$("#prev").click(function(){player_Prev();});
$("#stop").click(function(){player_Stop();});
$("#next").click(function(){player_Next();});
$("#volume").click(function(){player_Volume($(this));});
$("#desc2").click(function(){player_Desc($(this));});
$("#status").click(function(){
$("#list").css({left:$(this).position().left,top:$(this).position().top+$(this).height()-2});
if(document.getElementById("list").style.display=="none"){
$("#list").slideDown("slow");
}else{
$("#list").slideUp("slow");
}
});
$("#list").css({left:$("#status").position().left,top:$("#status").position().top+$("#status").height()-2});
});
function darg_left(obj,a){
var l=$(volume[obj][1]).position().left-config["num"][obj][0];
var l2=l+$(volume[obj][1]).width()-config["num"][obj][1];
var j=l2-l;
var l3=$("#player").offset().left>$("#player").position().left ? $("#player").offset().left : $("#player").position().left;
if(a=="l"){return l;}else if(a=="l2"){return l2;}else if(a=="j"){return j;}else if(a=="l3"){return l3;}
}
function _click(obj,x){
//alert(obj);
var l=darg_left(obj,"l");
var l2=darg_left(obj,"l2");
var j=darg_left(obj,"j");
var l3=darg_left(obj,"l3");
x=x-l3+5;
if(x<=l){x=l;}else if(x>=l2){x=l2;}
if(obj==0){
if(!music_player.settings.mute){
var jj= parseInt((x-l)/j*100)!=null ? parseInt((x-l)/j*100) : 0;
//$("#test").html(jj+":"+l3+":"+l+":"+l2+":"+(x-l)+":"+j);//测试数据用可以删掉
music_player.settings.volume=jj;
$(volume[obj][2]).html(jj);
$(volume[obj][0]).animate( { left: x+"px"}, { queue: false, duration: 200 } );
$(volume[obj][3]).animate( { width: (x-l)+5+"px"}, { queue: false, duration: 200 } );
}
}else if(obj==1){
if(music_player.playState==3){
var jj= parseInt((x-l)/j*100)!=null ? parseInt((x-l)/j*parseInt(music_player.currentMedia.duration-1)) : 0;
player_Goto(jj);
//jj=music_player.controls.currentPositionString;//测试数据用可以删掉
//$("#test").html(jj+":"+l3+":"+l2+":"+x+":"+j);//测试数据用可以删掉
//alert(kk);//测试数据用可以删掉
$(volume[obj][2]).html(jj);
$(volume[obj][0]).animate( { left: x+"px"}, { queue: false, duration: 200 } );
$(volume[obj][3]).animate( { width: (x-l)+5+"px"}, { queue: false, duration: 200 } );
}
}
}
function player_default(obj){
var l=$(volume[obj][1]).position().left-config["num"][obj][0];
var l2=l+$(volume[obj][1]).width()-config["num"][obj][1];
var j=l2-l;
if(obj==0){
var jj=l+parseInt(config["volume"]*j/100);
}else if(obj==1){
var jj=l+parseInt(parseInt(music_player.controls.currentPosition)*j/parseInt(music_player.currentMedia.duration-1));
}
return jj;
}
document.onclick=function(){ //点击空白处关闭列表
$("#list").hide();
}