科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual C++.NET DirectShow编程

Visual C++.NET DirectShow编程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

运用DirectShow我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据并进行相应的后期处理乃至存储到文件中

作者:sunjin007 来源:论坛 2007年11月16日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
DirectShow应用

  从广义上说,所有的DirectShow应用都必须完成三件事情,如下图B所示:


图B

  1. 生成Filter Graph管理器的一个实例。

  2. 利用Filter Grapth实例生成Filter Graph,具体应该由哪些Filter组成Filter Graph视我们的应用的需要而定。

  3. 通过对Filter Graph管理器的方法调用和来自Filter Graph的消息的响应Filter Graph和数据流进行控制。

  DirectShow是基于COM的,Filter Graph管理器和Filter都是COM对象 ,在开始着手之前你应该对COM有个基本的认识。

  下面让我们着手开始做一个简单的DirectShow应用,在这个应用中我们实现这样的功能:打开一个媒体文件,并对其进行播放。

  设置环境

  在利用DirectShow进行流媒体的处理之前,必须正确安装DirectX的SDK,DirectX SDK可以到微软的网站上下载,目前,DirectX最新版本为9.0。

  在正确安装好DirectX SDK后,我们必须设置DirectX SDK的头文件和库文件,使其在Visual Studio的搜索路径内。对于Visual Studio .NET 2003可如下进行设置:菜单→工具→选项→项目→VC++目录,在包含文件中加入D:\DXSDK\Include,在库文件中加入D:\DXSDK\lib(我的SDK的安装路径是D:\DXSDK):



  头文件

文件名称 描述
Dshow.h 所有的DirectShow应用都必须包含

  库文件

文件名称 描述
Strmiids.lib 此库文件中导出类标识(CLSID)和接口标识(IID),所有的DirectShow应用都必须包含此文件。
Quartz.lib 此库文件中导出函数AMGetErrorText,如果你的程序中调用了此函数,则必须包含此库文件。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章