- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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的功能,但必须是以
您可能关注的文档
最近下载
- 信息系统安全管理记录表单汇编.docx
- 炼铁厂1080m3高炉试车方案.doc
- 生物大数据(福建农林大学)中国大学MOOC 慕课 章节测验期末考试答案.docx
- 中国传统节日——冬至节日介绍(教学设计)全国通用五年级上次综合实践活动.docx
- AP微积分BC (2018年真题)全套含选择题及答案.pdf VIP
- OEM代工与加工合同协议书范本 详细版.docx
- 关于农业自动化灌溉浇灌滴灌控制系统设计有关 的外文文献翻译成品:自动灌溉系统的设计与实现(中英文双语对照).docx
- 宪法多选题新题.doc VIP
- Bain-德邦产品融合项目里程碑汇报(上会终稿)-20170525.pptx VIP
- 宪法考试多选题 .pdf VIP
文档评论(0)