- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DirectShow组件及其在媒体播放器设计中的应用
[日期:2006-05-22] 来源:? 作者: [字体:大 中 小] 唐芸? 王煜坚? 吴镇扬
?
?
摘要:DirectShow技术是DirectX推出的建立在DirectDraw和DirectSound组件基础之上的多媒体应用程序开发工具包,它提供对多媒体数据流的高质量捕获和回放,代表着未来多媒体应用程序开发的方向。详细介绍了DirectShow的系统组成,并讨论了利用DirectShow在Visual C++ 6.0平台上开发简单媒体播放器的关键步骤。
关键字:DirectShow;COM;过滤器;引脚;过滤器图表管理器
?
1???????? DirectX简介
??? DirectX是Microsoft公司为游戏和其他高性能多媒体应用所提供的一套底层应用程序编程接口。这些接口包括对二维和三维图形,声效和音乐,输入设备以及多玩家网络游戏等的支持。目前DirectX的最高版本是DirectX 9.0。
1.1???? DirectX的组成
DirectX 9.0由下列组件构成:
(1)DirectX Graphics:该组件组合DirectX旧版本中的DirectDraw和Direct3D两个组件,使其成为一个适用于所有图形程序的单独的应用程序接口。其中的Direct3D扩展(D3DX)应用程序库简化了多数图形程序的工作。
(2)DirectInput:支持各种输入设备,完全支持力反馈技术。
(3)DirectPlay:支持多玩家网络游戏。
(4)DirectSound:支持用于播放和捕获音频波形的高性能音频应用软件的开发。
(5)DirectMusic:为音乐音轨以及基于波表、MIDI(Musical Instrument Devices Interface)或其他由DirectMusic Producer创作的非音乐音轨,提供了一套完整的解决方案。
(6)DirectShow:提供对多媒体数据流的高质量捕获和回放。
(7)DirectSetup:一个简单的应用程序接口,提供DirectX组件的自动安装。
(8)DirectX Media Objects:提供对数据流对象的读写支持,包括视频和音频的编解码器及其效果。
1.2???? COM简介
DirectX的功能都是以COM组件的形式提供的。COM是组件对象模型(Component Object Model)的简写,它是一种协议,是对象连接和嵌入(Object Linking and Embedding)的基础。COM通常以动态链接库(DLL)的形式存在,它是建立在二进制规范上的对象。COM定义并实现了软部件(如应用程序、数据对象、控件及服务)机制,并把他们统称为“对象”。每个软部件对象由数据以及访问数据的函数组成,访问软部件对象数据的函数集合称为“接口”。在应用程序看来COM是一个黑箱,可调用COM提供的方法但不知道它的具体实现。在使用DirectShow编程时,用户创建的自定义组件必须以COM形式实现,所以必须知道如何实现COM,而一般的应用程序只需要了解COM的接口和用法就可以了。
2???????? DirectShow的系统组成
DirectShow技术是建立在DirectDraw和DirectSound组件基础之上的,它通过DirectDraw对显卡进行控制以显示视频,通过DirectSound对声卡进行控制以播放声音。 DirectShow可提供高质量的多媒体流的捕获和回放功能;支持多种媒体格式,包括ASF(Advanced Systems Format),MPEG(Motion Picture Experts Group),AVI(Audio-Video Interleaved),MP3(MPEG Audio Layer-3)和WAV声音文件;可以从硬件上捕获媒体数据流;可以自动检测并使用视频和音频加速硬件。因此,DirectShow可以充分发挥媒体的性能,提高运行速度,可以简化媒体播放、媒体间的格式转换和媒体捕获等工作。同时,它还具有极大的可扩展性和灵活性,可以由用户自己创建组件,并将这个组件加入DirectShow结构中以支持新的格式或特殊的效果。
应用程序与DirectShow组件以及DirectShow所支持的软硬件之间的关系如图1所示。
图1? DirectShow系统框图
?
2.1???? 过滤器(filter)
由图1可以看到,过滤器是DirectShow最基本的组成元件。过滤器是一个COM组件,是完成DirectShow处理过程的基本单元。DirectShow提供了一组标准的过滤器供应用程序使用,程序开发者也可以创建自定义的过滤器来扩充DirectShow的功能,但必须是以
您可能关注的文档
- CECS162:2004 给水排水仪表自动化控制工程施工和验收规程.pdf
- CEO继任过程的权力斗争与规则依赖_以中国上市公司为例_王冰洁.pdf
- Ch06 数据库的创建与管理.ppt
- ch6 语义分析与中间代码生成.ppt
- ch6-6.1文件6.2文件目录6.3文件组织与数据存储.ppt
- Ch7语义分析与中间代码产生.ppt
- Ch08-存储过程与触发器.ppt
- ch10 基于SNMP4JMIB浏览器.ppt
- ch12 BIOS设置、硬盘分区及格式化.ppt
- CH12 国际直接投资及跨国公司.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)