西天取经意义初探_show concern about

西天取经意义初探_show concern about构建DirectShow应用程序  本章节描述构建DirectShow应用程序所需的头文件和库。WindowsSDK中提供了最新的DirectShow头文件和库。头文件    所有的DirectShow应用程序都需要Dshow.h头文件,一些DirectShow接口可能还需要额外的头文件。库文件    调试版和发布版都是用相同的.lib文件。 F…


Jetbrains全系列IDE稳定放心使用

构建DirectShow应用程序

    本章节描述构建DirectShow应用程序所需的头文件和库。Windows SDK中提供了最新的DirectShow头文件和库。

头文件

   西天取经意义初探_show concern about

    所有的DirectShow应用程序都需要Dshow.h头文件,一些DirectShow接口可能还需要额外的头文件。

库文件

   西天取经意义初探_show concern about

   调试版和发布版都是用相同的.lib文件。

 

Filter基类

   Windows SDK为自定义DirectShow Filter提供了一组C++类。这些类是作为示例代码提供的,你也可以将它们编译成静态库。

可重复发布的DLL

   可发布的包包含如下DLL:

    西天取经意义初探_show concern about

     西天取经意义初探_show concern about

 

DirectShow应用程序编程简介

Filters and Filter Graphs

     DirectShow的构建块是一个称为Filter的软件组件。 Filter是对多媒体流执行一些操作的软件组件。例如,DirectShow Filter有如下功能:

     ·读文件

     ·从视频捕捉设备获取视频

     ·解码各种流格式,例如MPEG-1视频

     ·将数据传递给图形或声卡

 

     Filter接收输入并产生输出。例如,如果Filter解码MPEG-1视频,则输入是MPEG编码流,输出是一系列未压缩的视频帧。在DirectShow中,应用程序通过将Filter链连接在一起执行任何任务,以便一个Filter的输出成为另一个Filter的输入。 一组连接的Filter称为Filter Graph。 例如,下图显示了播放AVI文件的Filter Graph。

西天取经意义初探_show concern about

    File Source Filter从硬盘读取AVI文件。AVI Spliter Filter将文件解析为两个流,即压缩视频流和音频流。 AVI解压缩器Filter解码视频帧。 Video Renderer Filter使用DirectDraw或GDI将帧绘制到显示器。默认的DirectSound设备Filter使用DirectSound播放音频流。

   应用程序不必管理所有这些数据流。 相反,这些Filter由名为Filter Graph Manager的高级组件控制。 应用程序进行高级API调用,如“运行”(通过图形移动数据)或“停止”(以停止数据流)。 如果您需要对流操作进行更多控制,则可以通过COM接口直接访问 Filter。 Filter Graph Manager还将事件通知传递给应用程序。

   Filter Graph Manager还提供了另一个用途:它通过将Filter连接在一起,为应用程序提供构建Filter Graph的方法。 

 

编写DirectShow应用程序

    广义而言,任何DirectShow应用程序都必须执行三项任务,如下图:

   西天取经意义初探_show concern about

   1.该应用程序创建一个Filter Graph Manager的实例

   2.应用程序使用Filter Graph Manager来构建过滤器图。

   3.应用程序使用Filter Graph Manager通过Filter控制Filter Graph和流数据。 在整个过程中,应用程序还会响应Filter Graph Manager中的事件。.

   处理完成后,应用程序将释放Filter Graph Manager和所有Filter。DirectShow基于COM; Filter Graph Manager和过滤器都是COM对象。 在开始编程DirectShow之前,您应该对COM客户端编程有一个大体的了解

 

参考:

https://www.yuque.com/docs/share/d9f1e535-6143-4f76-be77-c001d1e32b95

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182744.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • JAVA的一般输入输出 和 快速输入输出 (BufferedReader&BufferedWrite)

    JAVA的一般输入输出 和 快速输入输出 (BufferedReader&BufferedWrite)JAVA基础知识和常用算法合集:https://blog.csdn.net/GD_ONE/article/details/104061907目录1.主类的命名必须是Main2.输入输出:2.1输入:(1)使用Scanner类进行输入(2)hasNext()方法2.2输出3快速输入输出3.1使用StreamTokenizer和PrintW…

    2022年5月26日
  • r语言绘图参数(R语言plot画图)

    过去一个月实验比较忙,很久没有写点东西了,今天要给amina画图,因此学习了一下R语言的基础画图。ide1.plot函数函数plot(x,y,xlim=c(0,100),ylim=c(0.4,1),type=”o”,lwd=2,col=2,pch=24,cex=1.5,yaxs=”i”,xaxs=”i”,xlab=”SampleRation(%)”,ylab=”Accuracy…

    2022年4月10日
  • linux常用命令大全新手入门(零基础自学葫芦丝快速入门篇)

    一、学习前准备帮助文档Linux命令大全(★★★),可以在上面找到你要查找的linux命令Linux命令大全|菜鸟教程Linux教程|菜鸟教程Tab补全Tab补全是非常有用的一个功能,可以用来自动补全命令或文件名,省时准确。未输入状态下连按两次Tab列出所有可用命令已输入部分命令名或文件名,按Tab进行自动补全,多用你就肯定会喜欢的了。…

    2022年4月18日
  • svn用户名和密码设置_git配置本地用户名密码

    svn用户名和密码设置_git配置本地用户名密码SVN配置用户192.168.1.200   Administrator     ydd!@#$1234()90 1、备份D:\svn\conf\authz,再修改2、备份D:\svn\conf\passwd,再修改注意:* 权限配置文件中出现的用户名必须已在用户配置文件中定义。* 对权限配置文件的修改立即生效,不必重启s

    2022年9月13日
  • vue-router 详解

    vue-router 详解文章目录1、认识vue-router2、安装和使用vue-router1、认识vue-router目前前端流行的三大框架,都有自己的路由实现:Angular的ngRouterReact的ReactRouterVue的vue-routervue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。我们可以访问其官方网站对其进行学习:https://router.vuejs.org/zh/vue-router是基于路由和组件的路由用户设定访问

    2022年7月11日
  • 离散傅里叶变换公式推导

    离散傅里叶变换公式推导离散傅里叶变换公式推导先抛变换公式:Fm=∑n=0N−1fne−2πimn/N↔fn=1N∑m=0N−1Fme2πimn/NF_m=\sum_{n=0}^{N-1}f_ne^{-2\piimn/N}\leftrightarrowf_n=\frac{1}{N}\sum_{m=0}^{N-1}F_me^{2\piimn/N}Fm​=n=0∑N−1​fn​e−2πimn/N↔fn​=N1​m=0∑N−1​Fm​e2πimn/N式中的N是数据点个数讲道理一开始完全看不懂公式这么来的,一顿百度后我学

    2022年7月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号