Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

第一个dshow的playerdemo

$
0
0

书上的源码是:

#include <iostream>
#include <dshow.h>
using namespace std;

int main()
{
	cout<<"PlayerDemo"<<endl;

	IGraphBuilder * pGraph = NULL;
	IMediaControl * pControl = NULL;
	IMediaEvent * pEvent = NULL;

	HRESULT hr = CoInitialize(NULL);
	if (FAILED(hr))
	{
		printf("ERROR - Could not initialize COM library");
		return 0;
	}

	hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
		IID_IGraphBuilder, (void**)&pGraph);

	if (FAILED(hr))
	{
		printf("ERROR - Could not create the Filter Graph Manager.");
		return 0;
	}

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

	hr = pGraph->RenderFile(L"C:\\DXSDK\\Samples\\Media\\CLOCKTXT.avi", NULL);

	if (SUCCEEDED(hr))
	{
		hr = pControl->Run();
		if (SUCCEEDED(hr))
		{
			long evCode;
			pEvent->WaitForCompletion(INFINITE, &evCode);
		}
	}

	pControl->Release();
	pEvent->Release();
	pGraph->Release();
	CoUninitialize();
	return 0;
}

linker->input 里面包含Strmbasd.lib库。



作者:lingxiu0613 发表于2013-1-17 0:22:45 原文链接
阅读:88 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>