自动播放进度条可以拖动,声音也可以拖动,但是声音拖动以后声音并没有发生大小的变化,如果直接给声音赋值,就可以调节大小,就是拖动的时候不行,请哪位高手帮忙解决一下var Ox,Nx;
var move_obj_can_move = false;
var move_obj = false;
function b_mousedown()
{
 move_obj_can_move = true;
 
 move_obj = event.srcElement.id;//获取鼠标点击元素的ID
 
 document.getElementById(move_obj).setCapture(); 
  Ox = event.clientX; 
 
}
function b_mouseup()
{
 if(!move_obj)
  return;
  
 document.getElementById(move_obj).releaseCapture();
 
 move_obj_can_move = false;
 
 move_obj = false;
}
function b_mousemove()
{
 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/65)
 
 if(judger>=0&&judger<=100)
 {
  Set_volume(judger)
 }
}
function  Set_volume(num)
{
 var the_player  = document.getElementById("Player");
 the_player.volume=num;
}

解决方案 »

  1.   

    <HTML>
        <object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="shyslysky" width="245" height="240" VIEWASTEXT>
        <param name="URL" value="http://msdn.microsoft.com/workshop/samples/author/behaviors/media/28movie.asf">
        <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="50">
        <param name="mute" value="0">
        <param name="uiMode" value="full">
        <param name="stretchToFit" value="0">
        <param name="windowlessVideo" value="0">
        <param name="enabled" value="-1">
        <param name="enableContextMenu" value="-1">
        <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="6482">
        <param name="_cy" value="6350">
      </object>
    </p>
    <input type=button value=mute onclick=shyslysky.settings.mute=shyslysky.settings.mute==true?false:true;time.innerText=shyslysky.settings.mute==true?'静音':'关闭静音'; ID="Button1" NAME="Button1">
    <input type=button value=play onclick=shyslysky.controls.play();time.innerText='播放'; ID="Button2" NAME="Button2">
    <input type=button value=pause onclick=shyslysky.controls.pause();time.innerText='暂停'; ID="Button3" NAME="Button3">
    <input type=button value=stop onclick=shyslysky.controls.stop();time.innerText='停止'; ID="Button4" NAME="Button4">
    <input type=button value=mode onclick=shyslysky.settings.balance=shyslysky.settings.balance=='100'?'-100':'100';time.innerText=shyslysky.settings.balance=='100'?'右声道':'左声道'; ID="Button5" NAME="Button5">
    <input type=button value=vol++ onclick=volup(); ID="Button6" NAME="Button6">
    <input type=button value=vol-- onclick=voldown(); ID="Button7" NAME="Button7">
    <input type=button value=fullscreen onclick="if(shyslysky.playState==3)shyslysky.fullscreen=1;" ID="Button8" NAME="Button8">
    <br>
    <div id="time" style="background:#f2f3f7;width:245">正在加载媒体</div>
    <table id=bar style="width:245;height:10px;border:1px black solid;">
      <tr> 
        <td id=itcn bgcolor=#f70968 style="width:0"></td>
        <td id=bar2 style="width:245"></td>
      </tr>
    </table>
    <script language=javascript>
    var volv=shyslysky.settings.volume;
    setInterval("if(shyslysky.playState==3){time.innerText=shyslysky.controls.currentPositionString+'|'+shyslysky.currentMedia.durationString}",1000);
    setInterval("if(shyslysky.playState==3){itcn.style.width=parseInt(245*(shyslysky.controls.currentPosition/shyslysky.currentMedia.duration))}",1000);
    function volup(){
    if (volv<100){
    volv+=5;
    shyslysky.settings.volume=volv;
    time.innerText=volv;}
    else{time.innerText='最大';}
    }
    function voldown(){
    if (volv>0){
    volv-=5;
    shyslysky.settings.volume=volv;
    time.innerText=volv;}
    else{time.innerText='最小';}
    }
    </script>
     
    </HTML>
      

  2.   

    这个效果我已经做得了,但是拖动声音不行,我做的是像进度条那种效果的,而且我用的media播放器是旧版本的,这个是新版本的
      

  3.   

    function Set_volume(num)
    {
    var the_player = document.getElementById("Player");
    the_player.volume=num;
    }
    这段代码中的player的实例是要使用在object中的id=后面的名字
    比如你在html嵌入的object的代码如下
    <OBJECT id=Player classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 height="240" width="320">
    <PARAM NAME="autoStart" VALUE="true">
    <PARAM name="uiMode" value="none">
    <PARAM name="volume" value="50">
    <PARAM name="transparencyColor" value="Auto">
    <PARAM NAME="URL" VALUE="http://test/">
    </OBJECT>
    设置音量要使用如下的代码
    Player.settings.volume = volumeNum;