您的位置:程序门 -> vb -> 多媒体



100分跪求activemoive control类库的使用方法。


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


100分跪求activemoive control类库的使用方法。
发表于:2007-01-15 10:31:39 楼主
想用此类库和一个picture控件编写一个播放器,现在可以实现play和暂停,但是不知道怎样暂停后继续播放,怎样实现时间轴,音量控制等,在网上也找不到相关的资料。主要是类库的一些属性及方法不知道怎样用。那位兄弟知道的,给个答案,我将不胜感激,如果嫌分不够,再开贴加加加,谢谢!
发表于:2007-01-15 23:40:531楼 得分:0
不想写代码了,自己看。
http://msdn2.microsoft.com/en-us/library/ms782294.aspx#controllingaudio
发表于:2007-01-18 17:42:382楼 得分:0
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动画等。
发表于:2007-01-18 23:57:083楼 得分:0
楼上的兄弟,可否发一份代码,我现在主要的问题就是不知道暂停了怎么继续播放,还有就是调整时间轴滑块在任意地方播放。所以还要请教你。
发表于:2007-01-19 00:01:124楼 得分:0
option   explicit

private   const   ws_child   =   &h40000000
private   const   ws_clipchildren   =   &h2000000

private   m_filgraph   as   filgraphmanager
private   m_video   as   ivideowindow

private   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这个类库。
发表于:2007-01-20 21:28:105楼 得分:0
“暂停了怎么继续播放”按理说都不是什么问题:在暂停按钮中放入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这个类型库,看懂了再取舍,你的播放器就成功了。
发表于:2007-01-20 21:56:166楼 得分:0
调节系统音量的类:
                  地址:http://xsoft.bokee.com/4780183.html
        将其放在类模块中制作成activex   dll文件,   生成一个dll文件(编译成dll时自动注册),在vb工程菜单中直接引用即可。注意参数的类型和调用。
发表于:2007-01-28 11:28:447楼 得分:0
还是没有搞定,不知道msdn上有没有相关的资料。
发表于:2007-12-26 13:25:278楼 得分:0
加我qq:我给你详细代码   279135138
发表于:2008-01-03 18:34:209楼 得分:0
该回复于2008-01-03 22:47:52被管理员删除


快速检索

最新资讯
热门点击