有关directshow中dmo使用的问题
IMediaControl *pMediaControl;
CComPtr<IBaseFilter> pAudioEncoder;
CComPtr<IDMOWrapperFilter> pAudioWrapperFilter;
HRESULT hr;
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraphBuilder);
pGraphBuilder->QueryInterface(IID_IMediaControl,(void **)&pMediaControl);
pAudioEncoder.CoCreateInstance( CLSID_DMOWrapperFilter );
pAudioEncoder.QueryInterface(&pAudioWrapperFilter);
pAudioWrapperFilter->Init( CLSID_MyDMO,CLSID_MyCTO);
hr = pGraphBuilder->AddFilter(pAudioEncoder,L"mp3");
if(!SUCCEEDED(hr))
{
MessageBox(L"add filter unsucceeded!");
}
hr=pGraphBuilder->RenderFile( L"\\08.mp3", NULL );
到addfilter都成功了,为什么renderFile这里会不成功呢???还是还要做些什么工作
我是在ce下做,不能放mp3,但注册表里已经有mp3的DMO了