Probleme mit IVideoWindow
-
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