《基于DirectShow的媒体播放器设计0》由会员分享,可在线阅读,更多相关《基于DirectShow的媒体播放器设计0(28页珍藏版)》请在金锄头文库上搜索。
1、基于DirectShow的媒体播放器设计学号:200706705 作者:国艳松基于DirectShow的媒体播放器设计 研究背景与意义 开发相关技术 DirectShow体系结构 播放器的功能设计 智能连接 DirectShow播放器的实现 播放器系统演示1. 研究的背景与意义 随着信息技术的发展,流媒体播放器迎来 新的挑战。 DirectShow简化多媒体应用程序的开发 ,不必考虑复杂的数据流格式和不同的 终端设备,以及数据同步的问题。 DirectShow 给多媒体程序开发员提供了 标准的、统一的、高效的API 接口2. 开发相关技术 DirectX SDK9.0 微软将DirectX定义
2、为“硬件无关性”,从而提高设备性能 Microsoft Visual C+6.0平台 Windows提供的可视化集成开发环境3. DirectShow体系结构 COM组件 Filter Filter Graph Filter Graph Manager3.1 COM组件 是一种软件架构,它规定了不同的 对象使用统一的协议来进行通讯的 一套机制。 COM组件的特点 COM组件类型 GUID3.2 过滤器(Filter) DirectShow是基于模块化,每个功 能模块都采取COM组件方式,称为 过滤器(Filter)。 Filter存在形式 Filter 分类 Filter 状态3.3 过滤器图
3、(Filter Graph) 过滤器图 (Filter Graph)是过滤器 (Filter)的容器。 过滤器图作用 过滤器图数据传输模式 过滤器图状态3.4 过滤器图管理器(Filter Graph Manager) 应用程序用于控制过滤器图和过滤器的COM 组件。 过滤器图管理器功能: 1:状态改变 2:参考时钟 3:Graph事件4. 播放器的功能设计 本论文中要求基于DirectShow设计播放器,根据对媒体的分析得到系统的主要功能如下:媒体播放器播 放 器 的 基 本 功 能截 图 功 能全 屏 功 能声 音 控 制 功 能换 肤 功 能播 放 模 式 控 制播 放 列 表 操 作6
4、. 智能连接 是构建Filter Graph的一种方法 智能连接的优点 1:与传统方法相比,具有智能 化 2:避免了代码冗余 智能连接原理7. DirectShow应用程序开发 创建过滤器管理器实例 使用过滤器管理器构建过滤器图 过滤器管理器控制过滤器图和流数据通 过过滤器。 应用程序释放过滤器管理器和所有的过 滤器。7.1 创建过滤器管理器实例 首先初始化DirectX SDK动态库: CoCreateInstance(CLSID_FilterGra ph, NULL, CLSCTX_INPROC_SERVER,IID_IGrap hBuilder, (void *)/对Filter Gra
5、ph中的媒体流进 行控制截图 实现 从Filter Graph Manage中可以获取IBasicVideo接口 ,这个接口支持通用的视频窗口的视频属性,当 视频提交过滤器处于连接状态时,可以使用接口 方法GetCurrentImage返回,在提交过滤器中等待 的当前图片的副本,达到抓取图片的目的。 另外,Filters之间是以Sample的形式传送数据的, Sample是一个封装了一定大小数据内存的COM组 件。当Graph构建成功之后,Sample从上一级的输 出Pin传送给下一级的输入Pin。因此,同样可以通 过抓取Sample的方式,在视频流中抓取图片。9 播放器系统演示换肤演示打开文件演示截图界面声道/声音控制总 结 流媒体的应用方兴未艾,各种基于流媒体的应用 研究正成为热点,取得的成果是有目共睹,而定 制组件开发技术必将在流媒体应用中发挥更为广 泛的作用。 DirectShow SDK是基于COM组件,该技术是开发多 媒体的一个行之有效的方法。目前,网络上多媒 体数据的急剧增大,以及对实时性需求的增加, 使得DirectShow越来越广泛地应用在媒体播放程 序中。在未来几年中,DirectShow技术的发展前 景相当广阔。致 谢 感谢指导老师 感谢评委 感谢我的朋友和同学