Autor Beitrag
patrick dee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72


Delphi 5 & 7 Enterprise
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: Fr 21.04.06 07:35 
hi habe das so mal als versuch :

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Fr 21.04.06 07:50 
Du brauchst die Unit ShellApi (in uses einbinden).

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: Fr 21.04.06 08:30 
sorry

habe das probiert, aber da passiert gar nichts.

ausblenden 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 user profile iconGausi: Delphi-Tags hinzugefügt

_________________
Glauben heißt nichts wissen ...
Alpha_Wolf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Fr 21.04.06 08:36 
ausblenden 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;
//end; << ein end reicht


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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Fr 21.04.06 08:56 
Ich zitiere mich mal selbst:

user profile iconAlpha_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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: Fr 21.04.06 10:16 
nach langem probieren :

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: 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? ;)

ausblenden 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]; // Die zwei zeilen vertauschen..
  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!