当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在上一讲中,笔者介绍了DirectShow的总体系统框架。
 

 

 ·mfc动态创建控件的消息处理    »显示摘要«
    摘要: mfc动态创建控件的消息处理   前些天有人在论坛里问在动态创建treectrl后怎么响应消息,于是便写了一点自己的心得,现整理如下。   本例在view中动态创建一个listctrl并响应其nm_click消息,先写出动态创建的代码: 新建一sdi工程,给view加上一个成员变量: clistctrl m_list; 在view的oncreate中创建它: if(!m_list.cre......
 ·基于mfc的编写线程快速入门    »显示摘要«
    摘要: 对于新手,编写线程,不知从何下手,不知编写线程要做那些,下面给出一个线程的简要框架 ////////////////////////////////////////////////////////////// //定义线程类yourthread.h#if !defined(yourthread_include_file)#define yourthread_include_file   c......


DirectShow系列讲座之二——Filter原理
在上一讲中,笔者介绍了directshow的总体系统框架.从这一讲开始,我们要从程序员的角度,进一步深入探讨一下directshow的应用以及filter的开发.

接下去,我们开讲filter的开发. 【程序编程相关:No MFC (我) 的自白

在这之前,笔者首先要特别提一下微软提供的一个filter测试工具——graphedit,它的路径在dxsdk\bin\dxutils\graphedit.exe.(如果您还没有安装directx sdk,请到微软的网站上去下载.)通过这个工具,我们可以很直观地看到filter graph的运行及处理流程,方便我们进行程序调试.(如果您手边就有电脑,还等什么,马上体验一下吧:运行graphedit,执行file->render media file…选择一个媒体文件;当filter graph构建成功后,按下工具栏的运行按钮;您就能看到刚才选择的媒体文件被回放出来了!看到了吧,写一个媒体播放器也就这么回事!) 【推荐阅读:在DirectX下弹出对话框

所谓的filter pin之间的连接,实际上是pin之间media type(媒体类型)的一个协商过程.连接总是从输出pin指向输入pin的.要想深入了解具体的连接过程,就必须认真研读sdk的基类源代码(位于dxsdk\samples\multimedia\directshow\baseclasses\amfilter.cpp,类cbasepin的connect方法).连接的大致过程为,枚举欲连接的输入pin上所有的媒体类型,逐一用这些媒体类型与输出pin进行连接,如果输出pin也接受这种媒体类型,则pin之间的连接宣告成功;如果所有输入pin上枚举的媒体类型输出pin都不支持,则枚举输出pin上的所有媒体类型,并逐一用这些媒体类型与输入pin进行连接.如果输入pin接受其中的一种媒体类型,则pin之间的连接到此也宣告成功;如果输出pin上的所有媒体类型,输入pin都不支持,则这两个pin之间的连接过程宣告失败. 【扩展信息:No MFC 编程06 - 检测来自系统

学习directshow filter的开发,不外乎以下几种方法:看帮助文档.看示例代码与看sdk基类源代码.看帮助文档,应着重于总体概念上的理解;看示例代码应与基类源代码的研究同步进行,因为自己写filter,关键的第一步是选择一个合适的filter基类与pin的基类.对于filter的把握,一般认为要掌握以下三方面的内容:filter之间pin的连接.filter之间的数据传输以及流媒体的随机访问(或者说流的定位).下面就开始分别进行阐述.

有一点需要注意的是,上述的输入pin与输出pin一般不属于同一个filter,典型的是上一级filter(也叫upstream filter)的输出pin连向下一级filter(也叫downstream filter)的输入pin.
...   下一页
    摘要: ip多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的tcp/ip网络技术。多播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。多播能使一个或多个多播源只把数据包发送给特......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE