时间:13:59 2010-9-21
开发环境:
XP SP3 + VS2008
[背景]
虽然在WINCE 上与XP是用DIRECTSHOW开发程序的流程与思路均是一样的,但WINCE系统没有提供
很多有FILTER,这对于我,这些从来没有完整的开发DSHOW的人员来讲,并不是一件很愉快的事情。
所以,决定先在XP上机应用DSHOW开发一个案例,积累经验,建立信心,完成布局,然后再转战 WINCE, 收复失地。
在DirectShow当中其有两份源文件。其各是什么呢,其各有什么用处呢。对于开发人员而进其有什么呢,怎么样 使用了。
第一份源文件,其只有头文件,其是DSHOW框架的,或DSHOW这个库头文件,因为我们是利用这个库在进行开发。头文件是能够编译通过,连接的时候,其需要LIB文件,这也就是为什么其还有一个LIB文件。这是应用DSHOW开发程序的必要文件。
第二份文件, 我们完全可以利用第一份源文件来开发程序,在第一份源文件当中,其是DSHOW的标准文件,其当中定义了各个接口,如果我们不开发FILTER ,那也没有什么,但如果原有的FILTER无法满足我们的自己的需要的时候,我们要建立自己的FILTER,建立FILTER,其是实现一些DSHOW所规定的接口。这对于初学者来讲,也不是一件愉快的事情。
所以,MS的DSHOW开发为我们提供了一些实现了这些接口的类,我们只要继承这些实现类就可以了.
由于XP的SDK当中没有直接地支持DSHOW,所以我们要下载DSHOW SDK, 然后在开发工具当中指定头文件的地方。与库的引用。
图.
[建立成功]
[MFC]
此次学习,MFC不是重点,重点是DSHOW,尽量去使用MFC的原有框架的思想,也就是在MFC当中不
进行另外设计模式的添加,只将业务逻辑分离出来。
对于是否是很MVC来控件总个框架,这个问题还是不好说,暂时不用。尽量快速地完成核心功能,对于
核心功能尽量做到复用,为接下的WINCE开发提供原料,也算是提前布局。
[开发前的提醒]
一定要有分析项目的需要,然后自己要设计出FILTER GRAPH ,且在GRAPH EDIT当中运行通过。
然后在去看源代码,看源代码的步骤。
根据项目的功能,决定采用什么样的设计模式,划分模块,分析模块的功能与模块之间的通信。
然后才去看其的具体实现。
==》 以领导的角度来看待这个问题,从全局出发。
感言:
1. 在XP上建立一个开发DSHOW AP开发环境是很烦人的,真不知道MS是怎么样想的,如果XP的SDK放
在一起的,难道DS更新速度太快,以影响用户要更新SDK,还是想另外收钱。