Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   mp3 player (https://www.delphipraxis.net/161596-mp3-player.html)

Gohac 11. Jul 2011 17:11

mp3 player
 
hallo zusammen,
ich fange gerade erst an mit delphi und habe das Tutorial auf http://www.delphi-tutorials.tk gefunden und den audio player erstellt.
ging soweit auch recht gut wollte dann aber ein paar zusätzliche fuktionen drin haben (ohne videos) aber schau da gerade nicht mehr durch.

hier erstmal der code
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
if Form2.Listbox1.Items.Count=0 then

begin
   if Opendialog1.Execute then

begin
  Form2.Listbox1.Items.Add(Opendialog1.FileName);
  Mediaplayer1.FileName:=Form2.Listbox1.Items[song];
  Mediaplayer1.open;
  MediaPlayer1.Play;
  Timer1.Enabled:=true;
  Progressbar1.Max:=Mediaplayer1.Length;
  end;
 end;
end;
das ist der play button es soll so fuktionieren das wenn kein lied in der playlist ist das dann opendialog geöffnet wird. das geht auch aber sowie ein lied in der playlist ist passiert nichts wenn man auf play klickt.

brauche eure hilfe finde im inet nichts was mir weiter helfen könnte.

danke schonmal im vorraus

DeddyH 11. Jul 2011 17:18

AW: mp3 player
 
Du musst dem Mediaplayer ja auch die abzuspielende Datei zuweisen. Dein Code tut das ja nur, wenn die Liste leer ist.
Zitat:

Delphi-Quellcode:
if Form2.Listbox1.Items.Count=0 then

P.S.: Willkommen in der DP :dp:

Gohac 11. Jul 2011 17:33

AW: mp3 player
 
vieleicht verstehe ich das falsch aber es soll kein lied vorgeschrieben werden

um zu schaun ob ein lied in der playlist ist dafür ist
Delphi-Quellcode:
if Form2.Listbox1.Items.Count=0 then
richtig?

und wenn kein lied drin ist dann
Delphi-Quellcode:
if Opendialog1.Execute then
oder?

das klapt ja auch soweit
also wenn keine lied in der listbox eingetragen ist dann soll sich opendialog öffnen wo man ein lied auswählen kann und dann abspielen das haut auch hin nur sowie ein lied in der playlist schon vorhanden ist passiert bei klick auf play nichts

DeddyH 11. Jul 2011 17:41

AW: mp3 player
 
Wie ist es denn so?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  (* ListBox ist leer -> Dialog aufrufen *)
  if Form2.Listbox1.Items.Count=0 then
    (* Dialog wurde nicht abgebrochen, Datei also angegeben *)
    if Opendialog1.Execute then
      (* Datei zur ListBox hinzufügen *)
      Form2.Listbox1.Items.Add(Opendialog1.FileName);
     
  (* Eintrag ausgewählt? *)
  if Form2.Listbox1.ItemIndex > -1 then
    begin
      (* Eintrag dem Mediaplayer zuweisen und abspielen *)
      Mediaplayer1.FileName:=Form2.Listbox1.Items[Form2.Listbox1.ItemIndex];
      Mediaplayer1.open;
      MediaPlayer1.Play;
      Timer1.Enabled:=true;
      Progressbar1.Max:=Mediaplayer1.Length;
    end;
end;

Gohac 11. Jul 2011 17:52

AW: mp3 player
 
also hab es mit deinem code versucht Danke Dir

aber es funktioniert noch nicht richtig. ich muss eine lied in der playlist anklicken und dann spielt er es erst ab

wie kann ich das nun hinbekommen?

DeddyH 11. Jul 2011 17:53

AW: mp3 player
 
Das war ja auch beabsichtigt. Der User muss ja zuerst die Datei auswählen, die er abgespielt haben möchte. Oder soll es immer die erste in der Liste sein? Dann macht ja die Liste keinen Sinn.

[edit] Alternativ kannst Du natürlich selbst den ersten Eintrag setzen, wenn einer vorhanden ist und keiner ausgewählt wurde.
Delphi-Quellcode:
if (DeineListBox.Items.Count > 0) and (DeineListBox.ItemIndex = -1) then
  DeineListBox.ItemIndex := 0;
[/edit]

Gohac 11. Jul 2011 19:18

AW: mp3 player
 
super danke das klappt :)

habe aber noch feststellen müssen das wenn sich opendialog öffnet und mit klick auf abbrechen kommt eine fehlermeldung. also opendialog will unbedingt das ich ein lied auswähle.
solte nicht eigendlich
Delphi-Quellcode:
Opendialog1.Execute
dieses problem verhindern ?

verzeiht mir wenn ich so frage muss halt noch einiges lernen

DeddyH 11. Jul 2011 19:53

AW: mp3 player
 
Welche Fehlermeldung kommt denn, und wie sieht Dein aktueller Quellcode aus?

Gohac 11. Jul 2011 20:10

AW: mp3 player
 
die fehlermeldung ist

Listenindex überschreitet das Maximum (-1)

meinst du den gesammten code?

oder hier erstmal den für den play button

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  (* ListBox ist leer -> Dialog aufrufen *)
  if Form2.Listbox1.Items.Count=0 then
    (* Dialog wurde nicht abgebrochen, Datei also angegeben *)
    if Opendialog1.Execute then
      (* Datei zur ListBox hinzufügen *)
      Form2.Listbox1.Items.Add(Opendialog1.FileName);

  (* Eintrag ausgewählt? *)
 if Form2.ListBox1.Items.Count > 0 and Form2.Listbox1.ItemIndex -1 then
  Form2.ListBox1.ItemIndex :=0;
    begin
      (* Eintrag dem Mediaplayer zuweisen und abspielen *)
      Mediaplayer1.FileName:=Form2.Listbox1.Items[Form2.Listbox1.ItemIndex];
      Mediaplayer1.open;
      MediaPlayer1.Play;
      Timer1.Enabled:=true;
      Progressbar1.Max:=Mediaplayer1.Length;
    end;
end;

DeddyH 11. Jul 2011 20:14

AW: mp3 player
 
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  (* ListBox ist leer -> Dialog aufrufen *)
  if Form2.Listbox1.Items.Count=0 then
    (* Dialog wurde nicht abgebrochen, Datei also angegeben *)
    if Opendialog1.Execute then
      (* Datei zur ListBox hinzufügen *)
      Form2.Listbox1.Items.Add(Opendialog1.FileName);

  (* Wenn Einträge vorhanden, aber keiner gewählt, dann ersten auswählen *)
  if (Form2.ListBox1.Items.Count > 0) and (Form2.Listbox1.ItemIndex = -1) then
    Form2.ListBox1.ItemIndex :=0;
  (* Eintrag ausgewählt? *)
  if Form2.Listbox1.ItemIndex > -1 then
    begin
      (* Eintrag dem Mediaplayer zuweisen und abspielen *)
      Mediaplayer1.FileName:=Form2.Listbox1.Items[Form2.Listbox1.ItemIndex];
      Mediaplayer1.open;
      MediaPlayer1.Play;
      Timer1.Enabled:=true;
      Progressbar1.Max:=Mediaplayer1.Length;
    end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz