Code
- #include <dshow.h>
- IGraphBuilder *g_pGraphBuilder = NULL;
- IMediaEventEx *g_pMediaEvent = NULL;
- IMediaControl *g_pMediaCtrl = NULL;
- int _tmain(int argc, _TCHAR* argv[])
- {
- CoInitialize(NULL);
- RETAILMSG(1,(L"after CoInitialize: GetLasterror = 0x%x\r\n",GetLastError()));
- HRESULT hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&g_pGraphBuilder);
- RETAILMSG(1,(L"after CoCreateInstance: CLSID_FilterGraph: GetLasterror = 0x%x hr = 0x%x\r\n",GetLastError(),hr));
- hr = g_pGraphBuilder->RenderFile(L"\\FFSDISK\\10 Be healthy.mp3",0);
- RETAILMSG(1,(L"after RenderFile: CLSID_FilterGraph: GetLasterror = 0x%x hr = 0x%x\r\n",GetLastError(),hr));
- hr = g_pGraphBuilder->QueryInterface(IID_IMediaControl,(void**)&g_pMediaCtrl);
- hr = g_pGraphBuilder->QueryInterface(IID_IMediaEvent,(void**)&g_pMediaEvent);
- hr = g_pMediaCtrl->Run();
- RETAILMSG(1,(L"after Run: CLSID_FilterGraph: GetLasterror = 0x%x hr = 0x%x\r\n",GetLastError(),hr));
- long evCode;
- hr = g_pMediaEvent->WaitForCompletion(INFINITE,&evCode);
- /* PERFORM CLEANUP */
- return 0;
- }
Link against Strmiids.lib