最简单的视频播放器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#pragma comment(lib,"strmbasd.lib")

#pragma comment(lib,"quartz.lib");

void main()

{

IGraphBuilder *pGraph = NULL;

IMediaControl *pControl = NULL;

//控制数据流的播放和停止等操作

IMediaEvent *pEvent = NULL;

//捕获图像滤镜的事件

//初始化COM库

HRESULT hr=CoInitialize(NULL);

if (FAILED(hr))

{

return;

}

//创建滤镜管理器(hr为它的句柄)

hr =

CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**)&pGra ph);

if (FAILED(hr))

{

return;

}

//IID_IMediaControl

hr = pGraph->QueryInterface(IID_IMediaControl,(void**)&pControl);

hr = pGraph->QueryInterface(IID_IMediaEvent,(void**)&pEvent);

hr = pGraph->RenderFile(L"c://1.avi",NULL);

if (SUCCEEDED(hr))

{

hr = pControl->Run();

if (SUCCEEDED(hr))

{

long evCode;

pEvent->WaitForCompletion(INFINITE,&evCode);

}

}

pControl->Release();

pEvent->Release();

pGraph->Release();

CoUninitialize();

}

相关文档
最新文档