Js+Realplay:播放器!具有后退,前进,音量,播放本地多媒体等功能 <html>
<!--摘自伟COOL网络-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>没有优化的播放器</title>
</head><body style="line-height: 150%" bgcolor="#4578AF">
<p align="center">
<script>
//---------这是区分播放器的音乐类型,你可以填加修改------//
var RS = new Array("rm","ram","mp3","ra","rt","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<RS.length;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)
}
}
</script>
<embed type="audio/x-pn-realaudio-plugin" id="player" controls="ImageWindow,ControlPanel" width="234" height="183" border="0" > 
<div align="center"> 
 <center> 
 <table bgcolor="#000000" width="232"> 
  <td width="233" valign="top"> 
    <input bgcolor="#4578AF" type="button" value="播放" onclick="player_play()">   
    <input type="button" value="暂停" onclick="Do_pause()">     
    <input type="button" value="停止" onclick="Do_stop()">      
    <input type="button" value="倒退" onmousedown="Go_direction(-1)">      
    <input type="button" value="前进" onmousedown="Go_direction(1)">      
    <br>    
        
<input type="file" id="sound_path" style="width: 227; height: 23" id="state_box">     
    &nbsp;<br>   
     
<input type="text" value="播放器状态" size="9" id="state_box" style="background-color: #000000; color: #0066FF" name="a">       
       
    <input type="text" value="播放时间" size="8" id="position_box" name="B" style="background-color: #000000; color:#3366FF"> <input type="text" value="曲目时间" size="8" id="length_box" name="C" style="background-color: #000000;color: #3366FF">    
    
        
    <div align="left">    
     <table border="0" width="100%" cellspacing="0" cellpadding="0">    
      <tr>    
       <td id="volume_button_box" width="100%" bgcolor="#FFFFFF">    
    <input id="volume_button" type="button" value="音量" style=" position: relative; left: 100; height: 18; width: 32; color: #3366FF" onmousedown="start_move()">    
    </td>    
      </tr>    
     </table>    
    </div>    
   
    <div align="left">    
     <table border="0" width="100%" cellspacing="0" cellpadding="0">    
      <tr>    
       <td id="position_button_box" width="100%" bgcolor="#3333CC">    
    <input id="position_button" type="button" value="NOW" style="position: relative; left: 0; height: 18; width: 32; color: #3366FF; font-weight: bold" onmousedown="start_move()">    
    </td>    
      </tr>    
     </table>    
    </div>   
 </table>  
 </center>  
</div>  
</body>