DirectShow基类文件和帮助文档
下载DirectShow基类文件和帮助文档
本DirectShow基类文件项目使用Visual Studio 2015专业版开发环境创建,使用Win10系统。代码照搬了Windows SDK 7.1中baseclasses项目的代码,只是少部分代码在项目文件中的位置有所变动。原baseclasses项目在Win7 SDK 7.1中的路径为:C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses。本DirectShow基类定义文件为:strmbase10.h,基类实现文件调试版本为:strmbasd10.lib,基类实现文件发布版本为:strmbase10.lib;且已生成。
使用方法
假设将DirectShow基类文件项目放在D盘根目录下,创建一个空的DLL项目,假定项目名称为XX;添加模块定义文件XX.def,在文件中添加如下代码:
LIBRARY XX.dll
EXPORTS
DllGetClassObject PRIVATE
DllCanUnloadNow PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
添加DLL.h头文件,在文件中包含DirectShow基类定义文件,导入基类实现文件:
#include "strmbase10.h"//过滤器基类定义文件
#if _DEBUG
#pragma comment(lib, "strmbasd10.lib")//过滤器基类实现文件调试版本
#else
#pragma comment(lib, "strmbase10.lib")//过滤器基类实现文件发布版本
#endif
添加自己的过滤器代码。在调试版本打开项目属性对话框,在“C/C++”属性项下选择“常规”,在“附加包含目录”选项设置路径为:D:\DirectShow基类\strmbase10\strmbase10,如下图:
点击“应用”按钮。在“链接器”属性项下选择“输入”,在“附加依赖项”设置路径为:D:\DirectShow基类\strmbase10\Debug\strmbasd10.lib,如下图:
点击“应用”,“确定”按钮。需为发布版本再设置一次,只是“附加依赖项”设置路径改为:D:\DirectShow基类\strmbase10\Release\strmbase10.lib。这样你就可以编写自己的过滤器了。
DirectShow基类代码无法在win32和MFC程序中使用,原因是会产生库冲突,无法通过编译;只能以DLL的形式在这些程序中运行。编者编写过滤器是使用Visual Studio 2015专业版开发环境,已验证可以使用该开发环境编写过滤器,如果使用其他开发环境,可能仍无法通过编译。基类代码挺多,就不在此展示了,可以直接下载DirectShow基类项目。过去文章一直使用“过滤器基础类”一词,现为其正名,因为从MSDN翻译过来是“基类”,许多文章也称“基类”。
DirectShow基类帮助文档
帮助文档为英汉对照方式,英文摘自MSDN“桌面应用程序技术”一书。具体路径为:Desktop app technologies\Audio and Video\DirectShow\DirectShow Reference\DirectShow Base Classes。中文为机器翻译,和部分人工校对。
下载DirectShow基类文件和帮助文档