读书人

MFC 中 怎么调用自己写好的filter

发布时间: 2013-04-02 12:35:26 作者: rapoo

MFC 中 如何调用自己写好的filter
比如, 我想在视频中加几行字,我想用 directshow中的filter,假设这个filter已经写好了,为text.ax,也注册,好了,我想在MFC中用,使视频流通过filter后被加上汉字。
那么使用这个filter的具体步骤是什么呢,不是在graphedit中用

十分感激,会看看贴,知道的可以QQ联系,或者我电话过去都行
[解决办法]
CLSID_PushSourceDesktop 是你自己的filter的GUID. 然后addfilter加入到filter graph就可以了.
CComPtr<IBaseFilter> pFilter=NULL;
hr=CoCreateInstance(CLSID_PushSourceDesktop,NULL,CLSCTX_INPROC,IID_IBaseFilter,(void**)&pFilter);

if(FAILED(hr))
{
AfxMessageBox(TEXT("Instance PushSource Desktop Filter failed"));
return;
}

m_pFg->AddFilter(pFilter,L"PushSource Desktop Filter");
[解决办法]

引用:
CLSID_PushSourceDesktop 是你自己的filter的GUID. 然后addfilter加入到filter graph就可以了.
CComPtr<IBaseFilter> pFilter=NULL;
hr=CoCreateInstance(CLSID_PushSourceDesktop,NULL,CLSCTX_INPROC,IID_IBaseFilt……


你好,我按照你的这种方法尝试之后,编译的时候会提示我 自己的哪个CLSID未定义,但这个Filter我已经注册过了,我该怎么做呢?
[解决办法]
引用:
引用:CLSID_PushSourceDesktop 是你自己的filter的GUID. 然后addfilter加入到filter graph就可以了.
CComPtr<IBaseFilter> pFilter=NULL;
hr=CoCreateInstance(CLSID_PushSourceDesktop,NULL,CLSCT……

查看注册表中相应CLSID,手动删除后重新注册或手动添加或修改相应CLSID?

读书人网 >C++

热点推荐