我可以用command或picture控件模拟mediaplayer控件的play、pause和stop等功能  
比如:  
Private  Sub  stop_Click()  
windowsmediaplayer1.Controls.stop  
End  Sub  
 
但是如何模拟mediaplayer控件的播放进度条和音量调节条?  
 
用什么控件?对应的代码是什么??  
 
谢谢各位!!!!!!!!!!!!!!!!  

解决方案 »

  1.   

    下个media player 的sdk就知道了
      

  2.   

    汗。记得回答过一次了。用sliderbar
      

  3.   

    我也晕了,上回兄弟你的确答了一次,只不过是说用SCROLLBAR汗了各位老大能不能具体点,我很菜,比如sliderbar这个控件怎么能调出来啊还有能不能写两句相关代码,不胜感激!!
      

  4.   

    sliderbar 在 Microsoft Windows Common Controls 里
      

  5.   

    找到了,怎么把它和MEDIAPLAYER控件的进度条连接起来呢?
      

  6.   

    研究了一下
    WindowsMediaPlayer1.Controls.currentPosition 是当前打开的文件的位置你可以加一个定时器,然后在里面写上 Private Sub Timer1_Timer()
        Slider1.Value = WindowsMediaPlayer1.Controls.currentPosition
    End Sub至于控制wmp的位置,这么写
    Private Sub Slider1_Click()
        WindowsMediaPlayer1.Controls.currentPosition = Slider1.Value
    End Sub现在的问题是怎么获得文件播放的时间长短,获得后必须赋值给Slider1的Max属性
      

  7.   

    找到了
    WindowsMediaPlayer1.currentMedia.duration 属性是播放的总时间,但是怎么没有办法赋值到Slider的Max 属性?
      

  8.   

    很奇怪,直接赋值可以
    比如 Slider.Max=200
    但是用变量赋值不行
    比如
    dim i as long
    i=200
    Slider.Max=200
    而Min属性可以用变量赋值
      

  9.   

    是不是这样,可以赋的值都是“帧数”或是“秒数”,而WindowsMediaPlayer1.currentMedia.duration 这个属性的值是用分钟计算的,所以不行而MIN值无论是什么都是0,所以可以赋,它不存在分钟问题不知道有没有道理,我瞎想的^_^
      

  10.   

    找到原因了,我在给 Slider.Max 赋值的时候 WMP 控件还没有获得要播放的文件的大小,也就是数字是0,这时候给Slider1.Max属性赋0值就会出错!!!
    解决办法是 WMP 控件已经正确获取文件播放时间之后赋值。
    你也可以这么办:增加一个定时器,时刻监视WMP控件 WindowsMediaPlayer1.currentMedia.duration 的属性,当这个属性大于0的时候才赋值给 Slider 控件的Max属性这是代码,
    Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
        If WindowsMediaPlayer1.playState = wmppsPlaying Then Slider1.Max = WindowsMediaPlayer1.currentMedia.duration
    End Sub