Partager via


Sample Playback Program

A version of this page is also available for

Windows Embedded CE 6.0 R3

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();
}