c++builder基础6

c++builder基础6

ID:35941601

大小:207.50 KB

页数:11页

时间:2019-04-26

c++builder基础6_第1页
c++builder基础6_第2页
c++builder基础6_第3页
c++builder基础6_第4页
c++builder基础6_第5页
资源描述:

《c++builder基础6》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用文案文件系统驱动编程基础篇之6——DirectShow关键字:文件系统驱动编程,DirectShow作者:wskjuf  更新:2008-10-0622:14:09  浏览:2466文件系统驱动编程基础篇之六——DirectShow一、前略本系列文章为业余编程爱好者而写,仅仅作为初学者的一个借鉴,真正的精华存在于参考资料*中。知识的积累将经历从薄到厚,再从厚到薄的反复过程,为了打下牢固的基础,请读者务必在阅读本文的基础上花费必要的时间完成参考资料。参考资料*:1.《ProgrammingMicrosoftDirectShowforDigitalVi

2、deoandTelevision》及其示例代码2.《DirectShowforDirectX8.1SDKC++》3.MicrosoftWindowsSoftwareDevelopmentKitUpdateforWindowsVista之相关文档及其示例代码4.《DirectShow开发快速入门之慨述》5.《深入解析ATL(ATLInternalsSecondEdition——WorkingwithATL8)》6.《COM组件设计与应用(一)起源及复合文件》(http://www.vckbase.com/document/viewdoc/?id=1483

3、)阅读基础:少量的COM编程的基础知识,了解如何调用COM组件的方法,最好掌握哪怕一丁点的ATL。本章目的:了解DirectX组件架构,学习编写简单的DirectShow程序。二、DirectX与DirectShow    首先看下面两段关于DirectX和DirectShow相关内容的摘要:DirectX的第一个版本作为WindowsGamesSDK发布于1995年9月,它作为WindowsAPI的一部分用以替换Windows3.1中的DCI和WinGAPI。ATI的一个开发团队为微软带来了基本的游戏影像技术,微软方面,DirectX由专门的团队负责

4、开发,Eisler标准文档实用文案为团队领导,而St.John和Engstrom则成为主程序设计师。2005年4月,DirectShow从DirectX移除,加入到MicrosoftPlatformSDK。    Windows系统的架构下,我们不能如Dos般随心所欲的控制硬件,而希望游戏、影像开发人员对内核的理解都达到驱动编程人员的水平,是一件苛求的事情,但是为此将失去广大市场的关键问题必然要产生解决的办法,因此,DirectX或其他不同名的相同技术的出现是件必然的。    有些读者可能会对驱动编程的基础文章涉及DirectX的必要性有所疑问,确实,

5、DirectX并不是学习驱动编程的一个障碍,笔者在初次的学习中也从未意识过要了解这方面的内容。但是换一个角度,如果你看到鸡窝里的五个鸡蛋,我们是不是很有理由猜测这是由五只母鸡组成的五好家庭?因此我们可很牵强的认为DirectX如同内核的外部据点,如果我们拔除了,必然有更大的把握向内核发动总攻。    笔者把DirectX加入本系列文章的另一个重要原因是——DirectX确实有值得炫耀的资本。对于编程人员来说,它的COM接口简直可用“优雅”来评价,当你用着如苦瓜般的IMarshal接口时,不妨来看看什么样的接口值得这样的评价。我挑选了DirectX里一个

6、很有意思的部分——DirecShow来作为突破口,讲述如何“Direct”——直接的控制视频设备。    学习的进阶大略上可分为四个部分:学习调用组件、捕获和编辑影像、学习编写过滤器、掌握媒体格式的高阶部分。限于能力,只介绍前两个部分。读者不要满足于学会使用DirctShow,而是通过DirctShow的具体功能猜测系统驱动的功能,甚至设备的构成,减轻将来主攻驱动时的负担,此即由外而内的学习方法。    笔者将掠人之美,使用参考资料1提供的示例阐明编程的基本思路。三、DirectShow基础和GraphEdit    在Windows系统中,Direc

7、tShow以COM组件的形式存在,下图描绘了DirectShow组件、硬件以及系统组件的关系(Leagcy为传统或遗留,旧的之意)。标准文档实用文案    现在我们只需了解DirectShow里包含了两大类型的对象:三类“Filter”(源、转换、渲染过滤器),以及由这些过滤器集组成提供特定功能的“FilterGraph”,这个Graph不妨看成是包含Filter的一个容器。    为了从可视化的角度理解DirectShow工作的方式,我们可使用SDK附带的GraphEdit工具。它最基本的功能是利用系统里已经安装的解码器,使用DirectShow组件

8、来播放媒体文件,并直观的显示播放流程。下面演示一下如何播放一个媒体文件。    GraphEd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。