php音乐播放器带进度条的,网页音乐播放器完整版特效,自行控制,带进度条

WWW.51JS.COM---[94OK]

//---------这是区分播放器的音乐类型,你可以填加修改------//

var RS = new Array("rm","ram","mp3","ra","asf","rp","rmm","png","m3u","mp2","mpa");

//-----------播放器状态-------------//

var Rstate = new Array("停止","连接","缓冲","播放","暂停");

var player_doing = false;

function choose_player(sound_path)

{

sound_path = sound_path.split(".");

var sound_type = sound_path[sound_path.length-1].toLowerCase();

for(i=0;i

{

if(sound_type==RS[i])

return "R"

}

return "U";

}

function Do_play()

{

var the_player = document.getElementById("player");

the_player.DoPlay();

}

function Do_pause()

{

var the_player = document.getElementById("player");

the_player.DoPause();

}

function Do_stop()

{

var the_player = document.getElementById("player");

the_player.DoStop();

}

function Set_position(num)

{

var the_player = document.getElementById("player");

the_player.SetPosition(num);

}

function Get_position()

{

var the_player = document.getElementById("player");

return the_player.GetPosition();

}

function Get_length()

{

var the_player = document.getElementById("player");

return the_player.GetLength();

}

function Set_volume(num)

{

var the_player = document.getElementById("player");

the_player.SetVolume(num);

}

function Show_time(num)

{

var time_minute = Math.floor( num / 60000 );

var time_second = Math.floor( ( num - time_minute*60000 ) / 1000 );

if( time_minute < 10 )

time_minute = "0" + time_minute;

if( time_second < 10 )

time_second = "0" + time_second;

return (time_minute + ":" +time_second);

}

function Get_state()

{

var the_player = document.getElementById("player");

return the_player.GetPlayState();

}

function player_play()

{

var just_type = choose_player(document.getElementById("sound_path").value);

var the_player = document.getElementById("player");

var the_state = Get_state();

if(the_state==1||the_state==2||the_state==3)

{

return;

}

if(the_state==4)

{

Do_play();

}

if(the_state==0)

{

if(just_type=="R")

{

Do_stop();

the_player.SetSource(document.getElementById("sound_path").value);

Do_play();

if(player_doing)

{

clearInterval(player_doing)

}

player_doing = setInterval("Set_all()",500);

}

}

}

function Set_all()

{

var the_player = document.getElementById("player");

document.getElementById("position_box").value = Show_time(Get_position());

document.getElementById("length_box").value = Show_time(Get_length());

document.getElementById("state_box").value = Rstate[Get_state()];

var the_max = (document.getElementById("position_button_box").offsetWidth - document.getElementById("position_button").offsetWidth);

document.getElementById("position_button").style.pixelLeft = Math.round(the_max*Get_position()/Get_length());

if(Get_state()==0)

{

clearInterval(player_doing);

}

}

function Go_direction(num)

{

var the_player = document.getElementById("player");

var the_state = Get_state();

if(the_state==3)

{

var the_direction = num*1000;

var judger = (Get_position() + the_direction)

if(judger>=0&&judger<=Get_length())

{

Set_position(judger);

}

}

}

var Ox,Nx;

var move_obj_can_move = false;

var move_obj = false;

function start_move()

{

move_obj_can_move = true;

move_obj = event.srcElement.id;

document.getElementById(move_obj).setCapture();

Ox = event.clientX;

}

function document.onmouseup()

{

if(!move_obj)

return;

document.getElementById(move_obj).releaseCapture();

move_obj_can_move = false;

move_obj = false;

}

function document.onmousemove()

{

if(!document.getElementById(move_obj))

{

return;

}

if(move_obj=="position_button"&&Get_state()!=3)

{

return;

}

Nx = event.clientX;

var judger = document.getElementById(move_obj).style.pixelLeft + Nx - Ox;

var max = document.getElementById(move_obj+"_box").offsetWidth - document.getElementById(move_obj).offsetWidth;

if(!move_obj_can_move||!move_obj||judger>max||judger<0)

{

return;

}

document.getElementById(move_obj).style.pixelLeft += Nx - Ox;

eval(move_obj+"_event("+document.getElementById(move_obj).style.pixelLeft+","+max+")");

Ox = Nx;

}

function volume_button_event(s_num,b_num)

{

var judger = Math.round(100*s_num/b_num)

if(judger>=0&&judger<=100)

{

Set_volume(judger)

}

}

function position_button_event(s_num,b_num)

{

var judger = Math.round(Get_length()*s_num/b_num);

if(judger>=0||judger<=Get_length())

{

Set_position(judger)

}

}

STATE:

POSITION: LENGTH:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值