首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

怎么取得merit值为0x00200000的filter

2012-02-24 
如何取得merit值为0x00200000的filter我在graphedit中可找到一个注册了的avi mux的filter,可以连接实现音

如何取得merit值为0x00200000的filter
我在graphedit中可找到一个注册了的avi mux的filter,可以连接实现音视频写入文件,但我在程序中用EnumMatchingFilters一直枚举不到它,它的merit值为0x00200000,很纳闷,不知道该如何解决这问题,我是新手,还望各位大哥指点一下。谢谢

[解决办法]
还要有他的GUID,代码如下:

HRESULT AddFilterByCLSID(
IGraphBuilder *pGraph,// Pointer to the Filter Graph Manager.
const GUID& clsid,// CLSID of the filter to create.
LPCWSTR wszName,// A name for the filter.
IBaseFilter **ppF)// Receives a pointer to the filter.
{
if (!pGraph || ! ppF) return E_POINTER;
*ppF = 0;
IBaseFilter *pF = 0;
HRESULT hr = S_OK;
hr = CoCreateInstance(clsid, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, reinterpret_cast<void**>(&pF));
if (SUCCEEDED(hr))
{
hr = pGraph->AddFilter(pF, wszName);
if (SUCCEEDED(hr))
*ppF = pF;
else
pF->Release();
}
return hr;
}

热点排行