kickerxy123
Erfahrenes Mitglied
Hallo und frohe Weihnachten euch allen!
Ich habe ein Problem beim Beenden von Videos beim Verwenden von DirectShow und der WinAPI...
Das Video spielt folgendermaßen ab:
Wenn das Video zu Ende gespielt hat, bleibt es auf dem letzten Frame stehen.
Daher:
Die Funktion wird relativ kontinuierlich abgefragt und das Ende des Videos wird auch korrekt erkannt.
Jedoch wird weder der Cursor sichtbar, noch das Video unsichtbar...
Ich habe auch versucht, das darunter liegende Main-Fenster zu reaktivieren (on-top setzen, neuzeichnen etc.)
Daher meine Frage: Wie kann ich das Video beenden(=>ActiveMovie Fenster soll sich am besten ganz schließen)?
Vielen Dank!
kickerxy
Ich habe ein Problem beim Beenden von Videos beim Verwenden von DirectShow und der WinAPI...
Das Video spielt folgendermaßen ab:
C++:
//... Initialisierung und Graph erstellen
pVideoWindow[soundvid_counter]->HideCursor(OATRUE);
pVideoWindow[soundvid_counter]->put_AutoShow(OATRUE);
pVideoWindow[soundvid_counter]->SetWindowPosition(0,0,g_width,g_height);
pVideoWindow[soundvid_counter]->put_WindowStyle(WS_VISIBLE | WS_CHILD);
pVideoWindow[soundvid_counter]->put_Owner((OAHWND)g_hwnd); //Child Fenster von der Hauptanwendung
pMediaControl[soundvid_counter]->Run();
Daher:
C++:
bool fileIsFinished(int soundvidID)
{
REFTIME _duration,_position;
pMediaPosition[soundvidID]->get_Duration(&_duration);
pMediaPosition[soundvidID]->get_CurrentPosition(&_position);
if(_duration==_position) //Ende des Videos / der Musik erreicht!
{
pVideoWindow[soundvidID]->HideCursor(OAFALSE);
pVideoWindow[soundvidID]->put_Visible(OAFALSE);
return true;
}
return false;
}
Jedoch wird weder der Cursor sichtbar, noch das Video unsichtbar...
Ich habe auch versucht, das darunter liegende Main-Fenster zu reaktivieren (on-top setzen, neuzeichnen etc.)
Daher meine Frage: Wie kann ich das Video beenden(=>ActiveMovie Fenster soll sich am besten ganz schließen)?
Vielen Dank!
kickerxy