100分跪求ActiveMoive Control类库的使用方法。 想用此类库和一个picture控件编写一个播放器,现在可以实现PLAY和暂停,但是不知道怎样暂停后继续播放,怎样实现时间轴,音量控制等,在网上也找不到相关的资料。主要是类库的一些属性及方法不知道怎样用。那位兄弟知道的,给个答案,我将不胜感激,如果嫌分不够,再开贴加加加,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不想写代码了,自己看。http://msdn2.microsoft.com/en-us/library/ms782294.aspx#controllingaudio 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动画等。 Option ExplicitPrivate Const WS_CHILD = &H40000000Private Const WS_CLIPCHILDREN = &H2000000Private m_FilGraph As FilgraphManagerPrivate 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这个类库。 “暂停了怎么继续播放”按理说都不是什么问题:在暂停按钮中放入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这个类型库,看懂了再取舍,你的播放器就成功了。 调节系统音量的类: 地址:http://xsoft.bokee.com/4780183.html 将其放在类模块中制作成ActiveX DLL文件, 生成一个DLL文件(编译成DLL时自动注册),在VB工程菜单中直接引用即可。注意参数的类型和调用。 还是没有搞定,不知道MSDN上有没有相关的资料。 高手给我一个发一个vb自制播发器吧要求能播放那个远程电影,最好支持(flv,wmv,wma)小弟先谢谢! 我高手给我一个发一个vb自制播发器吧 要求能播放那个远程电影,最好支持(flv,wmv,wma) 小弟先谢谢!发过去就可以了期待…… 图标 求教!!!急!!!论文要挂啦 调用commondialog打开文件窗口改变进程什么路径来着? 怎样解决错误码为9828的问题 最后40分,请李红根大哥进来看看,以及各位高手进来看看 Combo控件 请教:如何用winsock传送图片,怎么还原 100分问题:关于托盘程序中的回调函数问题 在線等,請問Open strLogFileLocation For Output As #filenumber 這句是什么意思? Listview 隐藏列的方法 时间如何取整? 两个mdb互相比较的问题!!!急
http://msdn2.microsoft.com/en-us/library/ms782294.aspx#controllingaudio
2、因Quartz.dll支持COM编程,只须在VB工程菜单中引用Quartz.dll,并定义自己的DirectShow对象即可。
3、关于“时间轴”问题,只须利用Picture控件根据时间长度作一个条形图即可,也可用ActiveX编写可拖动的自定义控件。
4、关于“音量控制”,最好能控制系统音量(我有源代码),不要采用Quartz.dll里面的音量控制。换句话说:如果有微软的Wmp、超级解霸和你自己的播放器同时在播放,你只能控制自己的播放器音量,而不能控制其他播放器的音量。
我编写的播放器就是按照以上思路做的,几乎所有的格式都能播放(只要装了解码器),相当于暴风影音,不仅能播放传统的Windows媒体,而且还能播放QuictTime、Real格式和FLASH动画等。
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这个类库。
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这个类型库,看懂了再取舍,你的播放器就成功了。
地址:http://xsoft.bokee.com/4780183.html
将其放在类模块中制作成ActiveX DLL文件, 生成一个DLL文件(编译成DLL时自动注册),在VB工程菜单中直接引用即可。注意参数的类型和调用。
要求能播放那个远程电影,最好支持(flv,wmv,wma)
小弟先谢谢!
要求能播放那个远程电影,最好支持(flv,wmv,wma)
小弟先谢谢!
发过去就可以了
期待……