欢迎来到学术参考网

基于VC++和WMF SDK的视频播放器的

发布时间:2015-07-04 20:26
摘 要:wmf sdk是微软windows media技术的重要组成部分,它基于com技术,可以方便地开发具有高性能要求的多媒体应用程序。对wmf sdk关键技术作了概括介绍,并给出了采用visual c++编程语言开发视频播放器的软件实现过程。
  关键词:wmf sdk;视频播放器;visual c++
  
  1 wmf sdk简介
  
  windows media是microsoft公司开发的流媒体技术,已经成为一个数字媒体的专业平台。windows media format sdk是一组底层应用程序编程接口 (api),它处理使用 asf 结构的数据。windows media format sdk 是 windows media 的核心,windows media player、windows media encoder 和 windows media services 均使用它来提供核心文件 i/o、联网和数字版权管理 (drm) 支持。
  
  2 wmf sdk体系结构
  
  wmf sdk采用了面向对象的设计,是一套完全基于com组件模型的高级开发包。它引入的生成器,读取器,编辑器等对象屏蔽了asf数据格式、网络传输控制等较为底层的流媒体技术实现细节,留下比较上层的编程接口给开发者使用。
  windows media format sdk 具有许多处理 asf 文件的功能,但其核心功能是读写文件。本文主要介绍这两大基本任务体系结构。
  
  2.1 生成器结构
  使用 windows media format sdk 构建的应用程序将源媒体样本传递给生成器。生成器使用配置文件对象中指定的设置对文件进行编码。配置文件对象定义已编码文件的格式,包括每个流的详细信息以及应如何处理流的信息。大多数音频和视频流由一种 windows media 编码解码器来处理。但是,编码管理器首先用一种转换器来处理数据,为压缩做准备。当样本可以放入文件时,先传递给多路复用器,多路复用器根据演示时间从所有流中隔行扫描样本并将数据打包。多路复用器创建的位流被传送到一个接收器,接收器为最终目的地处理 i/o,不管它是磁盘上的文件还是 internet 或其他网络广播。
  
  2.2 读取器结构
  读取过程与数据写入过程基本上相同,不过顺序是相反的。读取器连接到源,源可以是文件、网络连接或自定义源。拆分器处理文件的数据部分,将数据分成单个流样本,然后将样本解压缩(如果启用了 drm 保护),并通过相应的 windows media 编码解码器来处理。默认情况下,读取器内部会自动选择合适的解码器对asf流数据进行解压缩。

  3 wmf sdk编程开发环境配置
  
  wmf sdk仅适合c/c++编程语言,开发平台可以是vc++6.0或visual .本文介绍vc6.0的设置方法。
  打开vc++6.0,选择菜单命令的tools→options,单击directories,在show directories for下拉菜单中选择 include files,然后将sdk的安装路径放在vc标准路径之前。
  在开发应用程序项目时,对vc6.0 debug版本还需要如下设置:选择菜单命令project中的settings,进入标签link,在category下拉列表中选择general,把和 文件添加到object/library modules中,并选中ignore all default libraries。
  
  4 流媒体播放器的设计
  
  ①用vc++6.0应用程序向导建立一个基于对话框的mfc程序,取名mymediaplayer,其它选项都基于默认设置。
  ②向对话框中添加控件,调整对话框布局。
  ③在project菜单中选择setting命令,选择link选项卡,在object/library modules输入,文件,这是编译使用mci接口的多媒体程序所必须的。
  ④在编程时,要添加工程文件wmsdk.h。wmsdk.h定义了sdk中的接口,常量,数据结构,枚举变量和guid等。
  ⑤向该工程的各个成员函数添加代码。主要有主程序类的初始化函数oninitdialog(),功能按钮open()(打开),onplay()(播放)、onpause()(暂停)、onstop()(停止)、和getheaderattribute(),retrieveattributes()
  
  5 结束语
  
  应用windows media format sdk技术可以快速、稳定地开发具有高性能要求的多媒体程序,是非常行之有效的方法。本文分析了wmf sdk关键技术的结构和功能,介绍了sdk开发环境的配置,并采用visual c++编程语言和sdk技术开发了一个多媒体视频播放器,实现了较好的视频播放效果。
  
  参考文献
  [1]李博轩. visual c + + 多媒体开发指南[m]. 北京:清华大学出版社, 2000.
  [2]george shepherd,scot wingo著, 赵剑云,卿瑾译. 深入解析mfc[m].北京:中国电力出版社,2003.

上一篇:VPN技术在图书馆网络互联中的应用

下一篇:数据仓库的建立和数据挖掘技术在财务流程再造