Sample Playback Program
A version of this page is also available for
4/8/2010
The following sample code plays a file. This example is a console application, so set the build target accordingly.
Note
To make the following code example easier to read, error checking is not included. Do not use this code example in a release configuration unless it you have modified it to include secure error handling.
#include <streams.h>
void __cdecl main(void)
{
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
CoInitialize(NULL);
// Create the filter graph manager.
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
// Build the graph. (IMPORTANT: Change string to a file on your system.)
pGraph->RenderFile(L"\\Hello_World.avi", NULL);
// Run the graph.
pMediaControl->Run();
// Block until the user clicks the OK button.
// The filter graph runs on a separate thread.
MessageBox(NULL, "Click me to end playback.", "DirectShow", MB_OK);
// Clean up.
pMediaControl->Release();
pGraph->Release();
CoUninitialize();
}