DirectShow之接口实战篇(一)

王朝delphi·作者佚名  2006-01-08
宽屏版  字体: |||超大  

DirectShow之接口实战篇(一)

现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控件开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充分的将作者的独特想法付诸于实现,何乐而不为呢!!不过关于DirectShow接口的开发说明文档实在是少之又少,仅有的一些不是英文的就是一些关于理论方面的,真正关于接口实战编程而且是用Delphi开发工具实现的更是凤毛麟角,使很多人都望而却步。在这里,我把我应用Directshow开发的心得以及我搜集到一些资料重新整理编辑出来公布,希望对所有由此兴趣的同仁有所帮助,就算达到了我的目的。废话少说,进入正文。

既然是接口实战篇,就先把一些常用的接口列出来,让大家有一些基本的认识,都是用来做什么的,什么时候我们会需要用到此接口。

IFilterGraph

过滤通道接口

IFilterGraph2

增强的IFilterGraph

IGraphBuilder

最为重用的COM接口,用于手动或者自动构造过滤通道Filter Graph Manager

IMediaControl

用来控制流媒体,例如流的启动和停止暂停等,播放控制接口

IMediaEvent

播放事件接口 ,该接口在Filter Graph发生一些事件时用来创建事件的标志信息并传送给应用程序

IMediaEventEx

扩展播放事件接口

IMediaPosition

播放的位置和速度控制接口(控制播放位置只能为设置时间控制方式)

IMediaSeeking

另一个播放的位置和播放速度控制接口,在位置选择方面功能较强.设置播放格式,多种控制播放方式.常用的有:(1)TIME_FORMAT_MEDIA_TIME单位100纳秒。(2)TIME_FORMAT_FRAME按帧播放

IBasicAudio

声音控制接口

IBasicVideo

图像控制接口(波特率,宽度,长度等信息)

IVideoWindow

显示窗口控制接口 (有关播放窗口的一切控制,包括caption显示,窗口位置控制等)

ISampleGrabber

捕获图象接口(可用于抓图控制)

IVideoFrameStep

控制单帧播放的接口

好了,熟悉了应用DirectShow应用开发常用的接口后,我们就通过一个实例媒体播放器来熟悉掌握这些接口,实例的代码虽然简单,但五脏俱全,功能强大,同时也了解一下应用DirectShow开发一般常用的步骤。

未完待续

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有