Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 26.08.2003, 12:06 Titel: Schließen von DIShow |
|
|
Hallo,
ich habe mir grad nen kleinen Movieplayer geschrieben. Der startet im Vollbildmodus und spielt auch alle Windowsbekannten Dateiformate ab. Jetzt habe ich aber das Problem, dass der Film zu Ende ist, aber das Fenster bestehen bleibt. Beenden dieses Fensters geht dann nur gewaltsam per Taskmanager und dann stuerzt DShow natuerlich ab.
Woran kann das liegen? Ich habe bereits folgenden Code drinnen, der ja eigentlich den ganzen Prozess beenden sollte:
Code: |
long evCode;
evCode = EC_COMPLETE;
pEvent->WaitForCompletion(NULL , &evCode);
|
Danke fuer da help |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 05.09.2003, 21:44 Titel: |
|
|
Hi!
Bin heute wieder vom Frankreich-Urlaub zurück!
Und hab auch gleich dir die Lösung mitgebracht!
Code: |
pControl->Stop();
pControl->Release();
lpSeeking->Release();
long evCode;
evCode = EC_COMPLETE;
pEvent->WaitForCompletion(NULL , &evCode);
pEvent->Release();
pGraph->Release();
CoUninitialize();
|
_________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 06.09.2003, 09:43 Titel: |
|
|
Hi Millenium,
haev dich ja schon richtig vermisst Dacht mir schon das da wer faul am Strand liegt. So wird des natuerlich nix mit den Spielen
Hey danke dir fuer den Ansatz. Ich probiers dann gleich ma aus. Aber jetzt bin ich erstma Urlaub bis Dienstag
Danke.... Bye
EDIT: Hast du ne Loesung fuer ESC-Taste und Abbruch bereit. Angeblich sollte das ja direkt in den Eventhandler eingebunden werden? |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 10.09.2003, 21:32 Titel: |
|
|
Hallo,
so endlich konnte ich das von Millenium mal ausprobieren, muss aber leider sagen, dass es nicht funktioniert. Das Fenster bleibt trotzdem bestehen..... leider. Mach ich was falsch?
Code: |
// GRaphen laufen lassen
hr = pControl->Run();
if (SUCCEEDED(hr))
{
//pControl->Stop();
//pControl->Release();
// Warten bis Ende
long evCode;
evCode = EC_COMPLETE;
pEvent->WaitForCompletion(NULL , &evCode);
pEvent->Release();
pGraph->Release();
}
}
CoUninitialize();
|
Waere super wenn jmd. was findet.... Das pControl hab ich auskommentiert, weils ja so gar nicht funktioniert.... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2003, 11:19 Titel: |
|
|
Also bei mir ist das so:
Code: |
// DirectXMusic Objekte
IGraphBuilder *pGraph;
IMediaControl *pControl;
IMediaSeeking *lpSeeking;
IMediaEventEx *pEvent;
IBaseFilter **pSources;
|
Und wenn das Programm beendet wird:
Code: |
delete pSources;
pControl->Stop();
pControl->Release();
lpSeeking->Release();
long evCode;
evCode = EC_COMPLETE;
pEvent->WaitForCompletion(NULL , &evCode);
pEvent->Release();
pGraph->Release();
CoUninitialize();
|
Und ich habe gesehen, dass du davon paar Sachen auskommentiert hast... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 11.09.2003, 11:39 Titel: |
|
|
Hmmm ja. Die hab ich auskommentiert, weils so nicht funktioniert. Also den Seeker brauch ich nicht. Das is egal, deswegen hab ich ihn nicht reingenommen. Alle anderen hab ich auch, allerdings wenn ichs wie du mache, spielt er ja den Movie gar nicht erst ab, weil er ja vorher schon aufhoert?? Oder hab ich was uebersehen?
Das Problem ist, das Fenster was DShow erzeugt, loszuwerden. Bei dem Player, den du philip boeing gegeben hast (besser dem Code - so weit ich sehen kann) siehst du es ganz gut. Das IVideoWindow ist nicht mehr wegzukriegen nach dem abspielen. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2003, 12:05 Titel: |
|
|
Ja, ich verwende ja auch einen ganz anderen Code für den Sound. Ich habe dafür extra mühsam eine Audioklasse geschrieben. Naja und da wird kein neues Fenster erzeugt und im moment kann sie auch gar keine Videos abspielen.
Ok war mein Fehler, du schreibst ja einen Movieplayer. Also bei meinem Programm kann man das Fenster ja einfach schließen. Schließt sich das Fenster nicht automatisch mit, wenn du dein Programm dann beenden lässt? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 11.09.2003, 12:24 Titel: |
|
|
Hmm das mit dem Sound kenn ich. Kann nur Fmod empfehlen
Nein leider schließt das nicht. Es bleibt am Ende des Files einfach stehen. Ich weiß nicht genau wie ich das Ding zerstoeren soll, weil ich dank GetFullScreen keinen Handle drauf habe Und weils Fullscreen ist, kann ich es auch schwer schließen, per Hand. Taskmanager geht natuerlich, aber welchem User kann man das schon zumuten.
Hmmm. Dann werd ich was anderes finden muessen... |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 11.09.2003, 14:24 Titel: |
|
|
Ok ich habs jetzt geschafft, dass es funktioniert. Das is ja wieder ne "Von hinten ueber die Brust ans Auge"-Aktion, die man da starten muss. Fuer ein einfaches schließen jedenfalls extrem kompliziert.
Trotzdem danke... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2003, 15:49 Titel: |
|
|
X-FILE hat Folgendes geschrieben: | Hmm das mit dem Sound kenn ich. Kann nur Fmod empfehlen
|
Ich bin einer von denen, die alles selber machen müssen. Naja das ist nun mal meine Natur. Und wenn das ganze Projekt doch mal kommerziell werden sollte, dann will ich nicht so hohe Lizensgebühren zahlen müssen! _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 11.09.2003, 17:14 Titel: |
|
|
Zitat: |
dann will ich nicht so hohe Lizensgebühren zahlen müssen!
|
ie nehmen Lizenzgebuehren bei Kommerz? Hab ich das ueberlesen?? Muss ich doch glatt ma kucken
Spielst du denn mit DShow auch mp3 ab? Im Spiel? Wird das ned etwas unflexibel? Ich meine mit Playlists usw?
Nachtrag:
Hast recht. Hmmm ned so gut. Nich dass ich Kommerz anstrebe, aber ich weiß nicht. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2003, 18:08 Titel: |
|
|
Ich weiß nicht, was daran unflexible ist. Ich hab keine Probleme mit DirectShow und es mag zwar laut fmod etwas langsamer sein, davon spüre ich aber nichts. Naja und wie gesagt, ich möchte unabhängig von solchen Sachen sein, die dann doch mal Geld kosten, vielleicht auch nicht kommerziell... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
|