100分跪求ActiveMoive Control类库的使用方法。

KissRose 2007-01-15 10:31:39
想用此类库和一个picture控件编写一个播放器,现在可以实现PLAY和暂停,但是不知道怎样暂停后继续播放,怎样实现时间轴,音量控制等,在网上也找不到相关的资料。主要是类库的一些属性及方法不知道怎样用。那位兄弟知道的,给个答案,我将不胜感激,如果嫌分不够,再开贴加加加,谢谢!
...全文
608 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bsjialong 2008-10-11
  • 打赏
  • 举报
回复
我高手给我一个发一个vb自制播发器吧
要求能播放那个远程电影,最好支持(flv,wmv,wma)
小弟先谢谢!
我的邮箱是csjialong@163.com发过去就可以了
期待……
bsjialong 2008-10-11
  • 打赏
  • 举报
回复
高手给我一个发一个vb自制播发器吧
要求能播放那个远程电影,最好支持(flv,wmv,wma)
小弟先谢谢!
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
这个简单啊,网上搜一下就得到答案了.
liyantsc 2007-12-26
  • 打赏
  • 举报
回复
加我QQ:我给你详细代码 279135138
KissRose 2007-01-28
  • 打赏
  • 举报
回复
还是没有搞定,不知道MSDN上有没有相关的资料。
东方之珠 2007-01-20
  • 打赏
  • 举报
回复
调节系统音量的类:
地址:http://xsoft.bokee.com/4780183.html
将其放在类模块中制作成ActiveX DLL文件, 生成一个DLL文件(编译成DLL时自动注册),在VB工程菜单中直接引用即可。注意参数的类型和调用。
东方之珠 2007-01-20
  • 打赏
  • 举报
回复
“暂停了怎么继续播放”按理说都不是什么问题:在暂停按钮中放入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这个类型库,看懂了再取舍,你的播放器就成功了。
KissRose 2007-01-19
  • 打赏
  • 举报
回复
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这个类库。
KissRose 2007-01-18
  • 打赏
  • 举报
回复
楼上的兄弟,可否发一份代码,我现在主要的问题就是不知道暂停了怎么继续播放,还有就是调整时间轴滑块在任意地方播放。所以还要请教你。
东方之珠 2007-01-18
  • 打赏
  • 举报
回复
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动画等。
fj182 2007-01-15
  • 打赏
  • 举报
回复
不想写代码了,自己看。
http://msdn2.microsoft.com/en-us/library/ms782294.aspx#controllingaudio

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧