资源描述:
《完整地DirectShow捕获音视频地demo(源码)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、标准文案近段时间由于工作上的需要,大概看了下DirectShow,写了个小的demo,方便理解。以后在深入的学习下DirectShow。贴出代码。对音频所做的处理如下图:大全标准文案1.common.h文件[cpp]viewplaincopyprint?1.#ifndef__COMMON_H__2.#define__COMMON_H__3.4.#include5.#include"qedit.h"6.#include7.#include8.#pragmacom
2、ment(lib,"Strmiids.lib")9.10.//definereleasemaco11.#defineReleaseInterface(x)12.if(NULL!=x)13.{14.x->Release();15.x=NULL;16.}17.//Application-definedmessagetonotifyappoffiltergraphevents18.#defineWM_GRAPHNOTIFYWM_APP+100大全标准文案1.2.voidMsg(HWNDhwnd,TCHAR*szFo
3、rmat,...);3.boolBstr_Compare(BSTRbstrFilter,BSTRbstrDevice);4.5.#endif//__COMMON_H__#ifndef__COMMON_H__#define__COMMON_H__#include#include"qedit.h"#include#include#pragmacomment(lib,"Strmiids.lib")//definereleasemaco#defineReleaseIn
4、terface(x)if(NULL!=x){x->Release();x=NULL;}//Application-definedmessagetonotifyappoffiltergraphevents#defineWM_GRAPHNOTIFYWM_APP+100voidMsg(HWNDhwnd,TCHAR*szFormat,...);boolBstr_Compare(BSTRbstrFilter,BSTRbstrDevice);#endif//__COMMON_H__实现:[cpp]viewplaincop
5、yprint?1.#include"common.h"2.3.voidMsg(HWNDhwnd,TCHAR*szFormat,...)4.{5.TCHARszBuffer[1024];6.constsize_tNUMCHARS=sizeof(szBuffer)/sizeof(szBuffer[0]);7.constintLASTCHAR=NUMCHARS-1;8.9.va_listpArgs;10.va_start(pArgs,szFormat);11.12.(void)StringCchVPrintf(szBuffe
6、r,NUMCHARS-1,szFormat,pArgs);13.va_end(pArgs);14.15.szBuffer[LASTCHAR]=TEXT(' ');16.17.MessageBox(hwnd,szBuffer,TEXT("Message"),MB_OK
7、MB_ICONERROR);18.}19.20.boolBstr_Compare(BSTRbstrFilter,BSTRbstrDevice)21.{22.boolflag=true;23.intstrlenFilter=SysStringLen(bst
8、rFilter);24.intstrlenDevice=SysStringLen(bstrDevice);25.char*chrFilter=(char*)malloc(strlenFilter+1);26.char*chrDevice=(char*)malloc(strlenDevice+1);大全标准文案1.intj=0;2.3.if(strlenFilter!=strlenDevice)4.flag=false;5.else6.{7.for(;j9、]=(char)bstrFilter[j];10.chrDevice[j]=(char)bstrDevice[j];11.12.}13.chrFilter[strlenFilter]=' ';14.chrDevice[strlenDevice]=' ';15.16.for(j=0;j