![]() |
Vollbild mit DirectX
Hallo,
ich habe einen MPPlayer auf DirectX-Basis geschrieben. Das Viedeo wir bei mir in einem eigenen Fenster ausgegeben nun möchte ich gerne mit klick auf das Fenster in den Vollbildmodus wechseln bzw. wieder zurück. ABER: ONCLICK wird nicht ausgewertet. Hat jemand eine Idee woran das liegt? Hier ein wenig Code:
Delphi-Quellcode:
Noch eine Frage in diesem Zusammenhang. Ich würde gerne mit Graphedit meine Graphen
VW : IVideoWindow = nil; //DirectShow
procedure TVideoout.vollbild; var fs:longbool; begin vw.get_FullScreenMode(fs); if fs then vw.put_FullScreenMode(false) else vw.put_FullScreenMode(true); end; procedure TVideoout.FormClick(Sender: TObject); begin Vollbild; end; mit Remote-Connect ansehen im Graphedit sehe ich aber meine Application nicht. In der Hilfe von Graphedit steht Zitat:'The application must register the filter graph instance in the Running Object Table (ROT).' Wer kann mir helfen, wo muss die Application registriert werden. Vielen Dank! :-D |
Re: Vollbild mit DirectX
Woher bekommst du dein IVideoWindow? Möglicherweise liegt da der Hase begraben:
Zitat:
Probier das Umschalten doch mal in einem Timer. Wenn die Umschaltung dann funktioniert, stehen die Chancen gut, dass das da oben der Fehler ist. Ansonsten wäre es ganz praktisch, wenn du deinen Initialisierungscode zeigen würdest. Die Antwort auf die zweite Frage lautet meines Wissens wie folgt: In GraphEdit kannst du nur DirectShow-Filter anschauen. Wenn du es geschafft hast, einen eigenen DirectShow-Filter zu schreiben und zum Laufen zu bekommen, sollte seine Registrierung für dich trivial sein. Du kannst GraphEdit NICHT verwenden, um den Graph innerhalb deiner Anwendung zu begutachten, du kannst ihn nur nachbauen. [EDIT] Oh, da habe ich das mit dem RemoteConnect bei dir überlesen. Du hast aber offenbar dafür in der Hilfe von GraphEdit überlesen, dass das DirectX SDK dafür den Artikel "Loading a Graph From an External Process" bereithält, in dem genau dein Problem beschrieben wird. [/EDIT] |
Re: Vollbild mit DirectX
Hallo nochmal,
habe mich da wohl unglücklich ausgedrückt. Also in den Vollbildmodus kann ich wechseln z.Zt. mit Hotkey auch jederzeit und immer hin und her. ABER: nicht mit der Maus. ONCLICK wird nicht ausgewertet. Danke |
Re: Vollbild mit DirectX
Ja, dann gibt es eine realistische Chance, dass dein IVideoWindow dein VideoRenderer ist. Damit dein Fenster Nachrichten auswerten kann (gesetzt den Fall, das VideoWindow ist ein Child), musst du aber den Filter Graph Manager als IVideoWindow nehmen.
|
Re: Vollbild mit DirectX
wenn du directX verwendest:
benutzt du die komponenten? denn dann wird onClick der Komponente ausgeführt! |
Re: Vollbild mit DirectX
Hallo, Komponenten habe ich bisher nicht genutzt. Die ganze Geschichte findet aus bestimmten Gründen unter win95 und Delphi 5- gibt es da Komponenten?
Der Click das weiss ich nun wird nicht ausgewertet weil natürlich das AKTIV MOVIE WINDOW davor liegt. Kann ich irgendwie von diesem Fenster Botschaften empfangen? Wer weiss Rat? DANKE vor allen an die, die sich schon meiner Sache angenommen haben. :-D |
Re: Vollbild mit DirectX
Hörst du mir überhaupt zu? :roll:
Natürlich liegt das Videofenster vor deinem. Deshalb musst du auch unbedingt das IVideoWindow-Interface vom FilterGraphManager verwenden und nicht vom Videorenderer. Das ist mit ziemlicher Sicherheit dein Fehler, denn der FilterGraphManager leitet Nachrichten im Gegensatz zum VideoRenderer weiter. Also zeige doch mal den Code, in dem du die IVideoWindow-Schnittstelle besorgst. |
Re: Vollbild mit DirectX
@Oregon Ghost
Sorry, aber ich war ein wenig Konfus. Aber ich habe eigentlich alles richtig gemacht aber folgendes vergessen:
Delphi-Quellcode:
und
vw.put_MessageDrain(videoout.Handle);
die Abfrage über
Delphi-Quellcode:
Für Deine Hinweise möchte ich mich recht herzlich bedanken und wünsche ein schönes Wochenende.
procedure TVideoout.maus_clickL(var Maus_msg: TWMMouse);
begin if maus_msg.Msg=WM_LButtonDown then Vollbild; end; DANKE wsks |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz