想用此类库和一个picture控件编写一个播放器,现在可以实现PLAY和暂停,但是不知道怎样暂停后继续播放,怎样实现时间轴,音量控制等,在网上也找不到相关的资料。主要是类库的一些属性及方法不知道怎样用。那位兄弟知道的,给个答案,我将不胜感激,如果嫌分不够,再开贴加加加,谢谢!

解决方案 »

  1.   

    不想写代码了,自己看。
    http://msdn2.microsoft.com/en-us/library/ms782294.aspx#controllingaudio
      

  2.   

    1、最好的办法是采用微软的运动图像播放库:Quartz.dll(Windows 2000以上都有这个类型库,支持COM编程。在C:\Windows\system32里面),支持所有音频、视频的播放。微软将ActiveMoive Control类型库集成到了Quartz.dll里面,Quartz.dll里面有所有关于播放的属性和方法,包括时间控制、音量控制、视频控制等。Quartz.dll集成的ActiveMoive Control类型库是当今DirectShow的前身,采用DirectShow编程。
        2、因Quartz.dll支持COM编程,只须在VB工程菜单中引用Quartz.dll,并定义自己的DirectShow对象即可。
        3、关于“时间轴”问题,只须利用Picture控件根据时间长度作一个条形图即可,也可用ActiveX编写可拖动的自定义控件。
        4、关于“音量控制”,最好能控制系统音量(我有源代码),不要采用Quartz.dll里面的音量控制。换句话说:如果有微软的Wmp、超级解霸和你自己的播放器同时在播放,你只能控制自己的播放器音量,而不能控制其他播放器的音量。
        我编写的播放器就是按照以上思路做的,几乎所有的格式都能播放(只要装了解码器),相当于暴风影音,不仅能播放传统的Windows媒体,而且还能播放QuictTime、Real格式和FLASH动画等。
      

  3.   

    Option ExplicitPrivate Const WS_CHILD = &H40000000
    Private Const WS_CLIPCHILDREN = &H2000000Private m_FilGraph As FilgraphManager
    Private m_Video As IVideoWindowPrivate Sub Command1_Click()'播放按钮
        
        Dim strFileName As String
        
        strFileName = "F:\风光.rmvb"
        
        Set m_FilGraph = New FilgraphManager
        
        m_FilGraph.RenderFile strFileName
        
        Set m_Video = m_FilGraph
        
        With m_Video
            .Owner = Picture1.hWnd     'Owner可以设置为任意窗口的句柄
            .WindowStyle = WS_CHILD Or WS_CLIPCHILDREN
            .Top = 0
            .Left = 0
            .Width = Picture1.Width / Screen.TwipsPerPixelX
            .Height = Picture1.Height / Screen.TwipsPerPixelY
        End With
        m_FilGraph.Run
        
    End Sub使用了Quartz.dll这个类库。
      

  4.   

    “暂停了怎么继续播放”按理说都不是什么问题:在暂停按钮中放入m_FilGraph.Pause;继续播放还是m_FilGraph.Play这一行,将你上面的这几行拿到播放按钮外面去,仍然可以按“播放按钮”继续播放:
                       Dim strFileName As String    
                       strFileName = "F:\风光.rmvb"    
                       Set m_FilGraph = New FilgraphManager    
                       m_FilGraph.RenderFile strFileName    
                       Set m_Video = m_FilGraphVB
        推荐你看2篇文章:
        第一篇:VB 环境下Video/Audio压缩数据流播放技术。
                地址:http://www.2565.cn/develop/vb/1/1/5094-2.html,有共4篇。
                里面有拖动时间滑块播放的完整代码。
        第二篇:基于VB的流媒体解码与播放技术。
                地址:http://www.mit9.com/Article/program/VB/200602/1993.html,共2篇。
                里面有用VB编写的完整的播放器代码。使用的就是Quartz.dll这个类型库,看懂了再取舍,你的播放器就成功了。
      

  5.   

    调节系统音量的类:
             地址:http://xsoft.bokee.com/4780183.html
        将其放在类模块中制作成ActiveX DLL文件, 生成一个DLL文件(编译成DLL时自动注册),在VB工程菜单中直接引用即可。注意参数的类型和调用。
      

  6.   

    还是没有搞定,不知道MSDN上有没有相关的资料。
      

  7.   

    高手给我一个发一个vb自制播发器吧
    要求能播放那个远程电影,最好支持(flv,wmv,wma)
    小弟先谢谢!
      

  8.   

    我高手给我一个发一个vb自制播发器吧 
    要求能播放那个远程电影,最好支持(flv,wmv,wma) 
    小弟先谢谢!
    发过去就可以了
    期待……