Autor |
Beitrag |
chicken11
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 12.02.08 09:36
Hallo,
sicher gab es die frage schon öfters, doch habe ich nach knapp einstündiger suche hier nichts gefunden.
meine frage ist also:
Wie genau kann ich ein videodatei (format mpeg, zur not kann ich es auch noch verändern) in ein delphi programm einbinden?
das man die datei in einem panel abspielt ist mir bekannt, doch was ist zb der Tmediaplayer? muss ich den als dll downloaden oder ist das eine komponente des programms.
angenommen mein video heißt "video1" und ich möchte über den "button1" das video in einem "panel1" abspielen lassen?
wäre echt nett, wenn mir jemand helfen könnte 
|
|
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 12.02.08 12:21
Mit der Komponente TMediaPlayer lässt sich das machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); begin MediaPlayer1.FileName:='C:\Video1.mpg'; MediaPlayer1.open; MediaPlayer1.Display:=panel1; MediaPlayer1.DisplayRect:=Panel1.ClientRect; MediaPlayer1.Play; end; |
lg
P.S.: so klappt das zumindestens bei D2k5, bei D6 bin ich mir nicht sicher...
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 12.02.08 17:27
ma$ter hat folgendes geschrieben: |
P.S.: so klappt das zumindestens bei D2k5, bei D6 bin ich mir nicht sicher... |
jetzt kannst du dir sicher sein:
es geht leider nicht bei d6. aber ich habe mal einen screenshot gemacht, vielleicht fällt jemanden was auf, was da noch gemacht werden könnte:
edit: mit anderem formaten geht es auch nicht.
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Di 12.02.08 17:37
Per Drag & Drop übernommen ?
Hast Du überhaupt eine MediaPlayer Komponente auf deiner Form ?
vlv was soll das sein.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 12.02.08 17:44
ich weis nicht, ob ich eine solche komponente besitze. ich habe d6 und mal schnell nachgeschaut, aber nichts (keine solche komponente) gefunden.
was meinst du mit vlv? sollte bestimmt flv heißen. das ist ein videoformat, abspielbar zb über den vlc-player.
naja, mit iener anderen methode kann ich den audiostream eines videos wiedergeben, es kommt bloß kein bild.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Di 12.02.08 19:26
Oben hast du geschrieben, dass dein Video im MPEG-Format wäre, nun ist es plötzlich Flash Video. Das dürfte nicht ganz einfach sein, das in Delphi abzuspielen (wobei es afaik auch flv-Dateien gibt, die einen MPEG4-ähnlichen Codec verwenden).
Die MediaPlayer-Komponente hast du und damit funktioniert's auch genauso, wie dir ma$ter bereits oben gepostet hat, sofern du ein unterstütztes Videoformat verwendest.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Di 12.02.08 19:33
falls du die TMediaPlayer-Komponente nicht findest, probiere es mal so
Delphi-Quelltext 1: 2: 3: 4:
| var MediaPlayer: TMediaPlayer; begin MediaPlayer:=TMediaPlayer.Create(Form1); MediaPlayer.Parent:=Form1; |
damit erzeugst du einen mediaplayer (falls dein Delphi TMediaPlayer kennt, wo ich mir aber 99.9%ig sicher bin  )
Aber flvs kann der sicher nicht abspielen.
Xion
//Edit: nur so als Hinweis: den Fehler den er bei dir bringt heißt nur, dass du ihm nicht sagst, was denn "MediaPlayer1" sein soll. Ählich wie wenn du schreiben würdest "Hanswurst.FileName:=". Du musst also erstmal sagen, was das sein soll (siehe bei mir den var Teil) und da es eine Klasse ist musst du sie erst noch createn. Das Parent musst du setzen, damit er weiß, wo er es hinmalen soll und zu welcher Komponente er gehört
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 12.02.08 20:48
erstmal danke
kurzes feedback von mir nochmal:
leider kennt das delphi von mir die komponente TMediaPlayer überhaupt nicht. auch bei deiner version wird wieder der fehler "undefinierter bezeichner" hervorgebracht.
nochmal etwas anderes:
da die komponente offensichtlich nicht da ist; woher kann ich sie möglichst kostenfrei bekommen. einzige bedingung ist, dass es schon mit delphi 6 funktionieren sollte. mit d5 klappt es ja sicher, nur brauche ich das für d6.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Di 12.02.08 21:04
D6 hat 100% eine TMediaPlayer-Komponente, vermutlich irgendwo in der Kategorie "System".
Alternativ kannst du's natürlich auch so machen, wie von Xion vorgeschlagen. Vermutlich hat das nicht funktioniert, weil du die entsprechende Unit nicht eingebunden hast.
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 12.02.08 21:16
guten abend,
tatsächlich habe ich die komponente nach deinem guten tipp gefunden:
dennoch, selbst, wenn ich den code von xion benutze, komme ich einfach auf keinen grünen zweig. ich kann das einfach nicht, vieleicht geht es auch nicht.
danke für eure hilfe trotzdem.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Di 12.02.08 21:30
chicken11 hat folgendes geschrieben: |
dennoch, selbst, wenn ich den code von xion benutze, komme ich einfach auf keinen grünen zweig. |
Wenn du näher beschreiben würdest, wie sich das "auf keinen grünen Zweig kommen" äußert (Was passiert? Welche Fehlermeldungen an welcher Stelle?), können wir dir vielleicht weiterhelfen.
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 17.02.08 18:28
ok, ich habe es nun ganz ohne quelltext geschafft. danke an die anderen für die vielen ideen.
PS: mit avi oder wma hackt es gewaltig, allerdings funktioniert es enwandfrei mit mpg1.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 17.02.08 19:30
Wie Nagel schon sagte:
Du hättest für meinen Code die Unit MPlayer einbinden müssen (oben bei uses). Die Unit bekommst du raus indem du über TMediaPlayer im Quellcode F1 drückst, oben steht dann, in welcher Unit die Klasse steht.
Da du mit dem Objektinspektor die TMediaPlayer-Komponente auf die Form platziert hast, hat Delphi automatisch diese Unit eingebunden.
Soviel nur zum Verständnis 
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
chicken11 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 19.02.08 00:32
Xion hat folgendes geschrieben: | Wie Nagel schon sagte:
Du hättest für meinen Code die Unit MPlayer einbinden müssen (oben bei uses). Die Unit bekommst du raus indem du über TMediaPlayer im Quellcode F1 drückst, oben steht dann, in welcher Unit die Klasse steht.
Da du mit dem Objektinspektor die TMediaPlayer-Komponente auf die Form platziert hast, hat Delphi automatisch diese Unit eingebunden.
Soviel nur zum Verständnis  |
danke für die nachträglich erklärung.
da man aber auch von berlim nach stuttgard über erlin fahren kann, mache ich es einfach so
nix für ungut und nochmal danke an alle, die mitgeholfen haben. ich werde mich jetzt wohl näher mit delphi beschäftigen.
|
|