用directshow播放avi文件的入门程序出错了,跪求解决方法
一个WIN32 CONSOLE程序。
#include "stdafx.h"
#include <dshow.h>
int main()
{
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
pGraph->RenderFile(L"test.avi", NULL);
pMediaControl->Run();
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
pEvent->Release();
pMediaControl->Release();
pGraph->Release();
CoUninitialize();
return 0;
}
编译时出错:
ompiling...
test1.cpp
f:\microsoft visual studio\vc98\include\mmsystem.h(113) : error C2146: syntax error : missing ';' before identifier 'MMVERSION'
f:\microsoft visual studio\vc98\include\mmsystem.h(113) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
test1.exe - 2 error(s), 0 warning(s)
include和lib目录都已加上DX SDK的目录。
我用的是dxsdk_sum2004和vc6