Häufig benötigt man in Spielen die Möglichkeit eine MP3- oder OGG-Datei abzuspielen. Da dabei DirectSound nicht mehr weiterhelfen kann, muss man auf DirectShow zurück greifen. Im Folgenden ein kleiner Codeschnipsel der die Wiedergabe verdeutlicht.

Es wird die amstrmid.lib benötigt.

Header:

#include <dshow.h>

Für eine einfache Wiedergabe muss man nicht viel beachten, da der GraphBuilder das meiste von sich aus macht.

IGraphBuilder* pGraph;
IMediaControl* pMediaControl;

CoInitialize(NULL);

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

pGraph->RenderFile(L"test.mp3", NULL);
pGraph->QueryInterface(IID_IMediaControl, (void**)(&pMediaControl));
pMediaControl->Run();
, ,