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


Anmelden zum Antworten