| Autor |
Beitrag |
patrick dee
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 21.04.06 06:57
morgen,
in einer listbox zeige ich verschiedene videos an, gibt es eine möglichkeit per doppelklick auf einen eintrag in der listbox, das gewählte video dem windows mediaplayer zu übergeben das er es spielt ? der hat ja alle codecs im gepäck.
danke
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 21.04.06 07:27
Einfach per Shellexecute den Mediaplayer starten und als Parameter den Dateinamen übergeben.
_________________ We are, we were and will not be.
|
|
Limster
      
Beiträge: 72
Delphi 5 & 7 Enterprise
|
Verfasst: Fr 21.04.06 07:34
Titel: player
Hi!
1. Per ShellExecute und Parameter
2. Delphi hat eine MediaPlayer-Komponente dabei wenn ich mich nicht irre,
die greift genauso auf alle Codecs zu die im System sind
3. www.progdigy.com .. DSPack für Delphi, einfach genial was man mit dem anstellen kann.
damit programmierst du dir in kürzester Zeit zb. nen Konverter zwischen allen
möglichen videoformaten (MPEG, DivX, usw usw alle Codecs die im system sind)
oder du spielst damit einfach ein Video ab..
grüsse
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 21.04.06 07:35
hi habe das so mal als versuch :
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.FileListBox1DblClick(Sender: TObject); begin
shellexecut(handle,'open','C:\Programme\Real\RealPlayer\realplay.exe',nil,'C:\',sw_show);
end; |
so, und wie sage ich hier dem realplayer den eintrag aus der filelistbox als video zu nehmen und zu spielen ? bzw wenn real das nicht kann dem mediaplayer von windows ???
danke
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Fr 21.04.06 07:50
Du brauchst die Unit ShellApi (in uses einbinden).
Delphi-Quelltext 1:
| ShellExecute(Application.Handle,'open','C:\Programme\Windows Media Player\wmplayer.exe','C:\WINDOWS\clock.avi',nil,sw_normal); |
Obiger Code zeigt wie das Video Clock.avi über den Windows MediaPlayer geöffnet wird.
Um einen Eintrag aus der Listbox zu öffnen brauchst du den kompletten Pfad.
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 21.04.06 08:30
sorry
habe das probiert, aber da passiert gar nichts.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.ListBox1DblClick(Sender: TObject); var videofile : string; begin videofile:= editvideo.Text; label1.caption := Listbox1.items.strings[Listbox1.ItemIndex]; ShellExecute(Application.Handle,'open','C:\Programme\Windows Media Player\mplayer2.exe',Editvideo.text,nil,sw_normal); end; end; |
irgendwo ist da noch der wurm drinnen.
Moderiert von Gausi: Delphi-Tags hinzugefügt
_________________ Glauben heißt nichts wissen ...
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Fr 21.04.06 08:36
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.ListBox1DblClick(Sender: TObject); var videofile : string; begin label1.caption := Listbox1.items.strings[Listbox1.ItemIndex]; videofile:= editvideo.Text; ShellExecute(Application.Handle,'open','C:\Programme\Windows Media Player\mplayer2.exe',PChar(videofile),nil,sw_normal); end; |
Alles was gehiglighted ist ändern.
Dir ist aber schon bewusst das du nur den Namen der Datei in nem Label anzeigst aber im edtvideo nix drinsteht wenn du was anwählst? Oder vergleichst du den ItemIndex mit ner StringList ab wo die Pfade drinstehen?
Was steht denn zum Zeitpunkt des Aufrufs in der variable "videofile"?
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
Zuletzt bearbeitet von Alpha_Wolf am Fr 21.04.06 15:55, insgesamt 1-mal bearbeitet
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 21.04.06 08:49
...
jetzt startet er den mediaplayer 9 von windows. aber er spielt nicht. logo denn in der videofile steht nur der filename ohne ( AVI,MPG usw) mhh
wenn ich dem Programm sage avi dann spielt er nur das was *.avi ist aber nicht mpg usw.
kann ich das umgehen das geschaut wird welches video und das dann gespielt wird ????
Vielen dank für deine Hilfe
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Fr 21.04.06 08:56
Ich zitiere mich mal selbst:
Alpha_Wolf hat folgendes geschrieben: | | Um einen Eintrag aus der Listbox zu öffnen brauchst du den kompletten Pfad. |
Machs doch so.. lade alle Videos die du brauchst mit kompletten Pfad in eine StringList..
Dann gehe mit ner Schleife durch die StringList und füge die Items in die ListBox (mit ExtractFileName bekommst du von einem Pfad den Dateinamen)
Wenn man jetzt auf einen Eintrag doppelklickt hol die einfach den Index des selektierten Items in der ListBox. Diesen Index verwendust du dann auf die StringList und hast dann automatisch den Pfad der zum angeklickten Item passt.
Diesen Pfad weist du dann deiner Variable videofile zu.
Probiers mal aus.
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 21.04.06 10:16
nach langem probieren :
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.ListBox1DblClick(Sender: TObject); var videofile : string; begin videofile:= Label1.Caption; label1.caption := Listbox1.items.strings[Listbox1.ItemIndex]; ShellExecute(Application.Handle,'open','C:\Programme\Windows Media Player\wmplayer.exe',PChar(videofile),nil,sw_normal); end; |
das steht in der Label drinnen als pafad für das video :
D:\VideoClip\VC0001.avi
Mache ich einen doppelklick wird der MediaPlayer geöffnet ABER er hat den FileName nicht.
Irgendwie funzt die übergabe des Filename für das Video an den Mediapalyer nicht.
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Fr 21.04.06 13:37
Hi,
schau mal was du da machst... du sagst die variable Videofile soll gleich der Caption vom Label sein.. die Caption vom Label änderst du aber erst eine zeile drunter so das der richtige wert darin steht..
á la:
A = B
B = 10;
..wieso ist A nicht 10?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.ListBox1DblClick(Sender: TObject); var videofile : string; begin label1.caption := Listbox1.items.strings[Listbox1.ItemIndex]; videofile:= Label1.Caption; ShellExecute(Application.Handle,'open','C:\Programme\Windows Media Player\wmplayer.exe',PChar(videofile),nil,sw_normal); end; |
Au'revoir,
Aya~
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|