D
Hallo,
ich versuche mein Video (welches mit DirectShow abgespielt wird) in meinen Dialog zu legen. Leider gibts Probleme. Mein Film wird abgespielt, aber leider immernoch im Fenster. Der Befehl pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVidWin1) gibt S_OK zurück. Wenn ich aber Eigenschaften setzen will, dann bekomme ich ein E_NOINTERFACE zurück. Mein Code:
IGraphBuilder *pGraph;
CRect r;
IMediaControl *pControl;
HRESULT hr;
IVideoWindow *pVidWin1 = NULL; //Interface für Fenstermodus
if (FAILED(hr=CoInitialize(NULL)))
{
AfxMessageBox("CoInitialize fehlgeschlagen!");
}
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph);
if (FAILED(hr))
{
AfxMessageBox("Anlegen des IGraphBuilder fehlgeschlagen!");
OnOK();
}
IMediaEvent *pEvent;
hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
if (FAILED(hr))
{
AfxMessageBox("Fehler beim anlegen von MediaControl");
OnOK();
}
hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
if (FAILED(hr))
{
AfxMessageBox("Fehler beim anlegen von MediaEvent");
OnOK();
}
hr = pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVidWin1);
//Erscheinungsbild fürs Ausgabefenster festlegen
hr=pVidWin1->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
if (hr!=S_OK){ //Kind und Fensterrahmen entfernen
AfxMessageBox("Style nicht gesetzt!");
}
Weiß nich warum
LG ... Drea