Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Mit der Mediaplayerkomponente die Videos größer abspielen ??


stefanstp - Do 21.11.02 09:22
Titel: Mit der Mediaplayerkomponente die Videos größer abspielen ??
Ich möchte in einem Programm Videos abspielen lassen. Das klappt auch super, aber leider nur in der originalgröße. Wie kann ich das Video größer abspielen lassen? Als Anzeige habe ich eine Memo genommen. Wenn ich die Memo größer mache wird aber das Video nicht größer.

Oder geht das gar nicht mit der Mediaplayerkomponente ???

Wer kann helfen???

Danke im Voraus


STEFAN


Klabautermann - Do 21.11.02 10:41

Hallo,

du musst nur das Display Rect entsprechend setzen.
Folgende Zeile setzt die Ausgabegröße mit der Größe des Ausgabepanels gleich:

Quelltext
1:
MP_Movie.DisplayRect := pan_Schirm.ClientRect;                    

Wenn du sie im OnRezise des Panels aufrufst sollte die Filmgröße auch veränderungen Problemlos mitmachen. Zur Initilaisierung musst du es natürlich auch vor dem Abspielen einmal aufrufen.

Gruß
Klabautermann


stefanstp - Do 21.11.02 11:03
Titel: Kleine Nachfrage...

Quelltext
1:
MP_Movie.DisplayRect := pan_Schirm.ClientRect;                    


Wo soll ich das denn reinschreiben?

Wie kann ich das jetzt genau machen, wenn ich als ausgabedisplay ein Memo1 nehme? Bin noch ein Anfänger, bitte mal halbwegs erläutern wie.

Ich wollte das nämlich per Combobox ansteuern, wo mehrere Auflösungen drin sind, und wenn z.B. Itemindex 2 dann soll das memo1.height:=600 und memo1.wight:=800 sein.

Muß ich das denn so reinschreiben?


Quelltext
1:
Mediaplayer1.DisplayRect := Memo1.ClientRect;                    


Besten Dank schon mal!!!

STEFAN[/code]


Tino - Do 21.11.02 11:25

Wieso ein tMemo. Was macht das für einen Sinn ein tMemo zu benutzen. Ließ Dir noch mal die Antwort von Klabautermann durch. Dort hat er beschrieben wie es geht. Statt dem Memo hat er halt ein Panel genommen!

Gruß
TINO


Klabautermann - Do 21.11.02 11:45

Hallo,

mir ist wie Tino neu, dass man ein Memo verwenden kann. Aber das geht tatsächlich. Genau so wie deine abänderung meines Codes.

Quelltext
1:
Mediaplayer1.DisplayRect := Memo1.ClientRect;                    

Du solltes aber keinen Text im Memo haben, sonst erscheint dieser wieder wen ein Memo1.Redraw aufgerufen wird (z.B. weil der Videobereich von einem anderen Fenster verdeckt wurde).
Generell halte ich ein Panel aber für die bessere Leinwand, weil es nicht so viele in dem Fall ungenutze funktionen hat.

Gruß
Klabautermann


stefanstp - Do 21.11.02 12:01
Titel: Besten Dank für Deine Hilfe
..werde ich heute Abend gleich ausprobieren. Nochmals danke! :D

Einen schönen Tag wünsche ich!

STEFAN


stefanstp - Fr 22.11.02 08:48
Titel: Hat super geklappt.
Problem ist mal wieder Microsoft. Unter Win2000 läuft mein Video super. Unter Win98 und WinXP hört man nur Ton==> erst wenn ich mein Fenster maximiere dann sieht man das Video.

Also habe ich einen Timer gemacht, der nach eine Sekunde das Display aktualisiert. Das geht zum Glück dann. Naja...

Nochmals danke für alles!

Schönes Wochenende wünsche ich!

STEFAN