Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Playlist Programmieren.... (https://www.delphipraxis.net/10078-playlist-programmieren.html)

pmc 11. Okt 2003 10:47


Playlist Programmieren....
 
Hallo,

Ich möchte gerne eine Playlist prgrammieren....
Soweit hab ich das eigentlich schon hinbekommen , das einzige was mir jetzt noch fehlt
ist das ich das gerne so machen will wie bei winamp oder BPM STUDIO :
So das ich aus verschiedenen Verzeichnissen tracks in die Playlist laden kann und in
der liste dann aber nur der NAme der file steht...nicht das der pfad noch mit dabei steht
Also nur der name ohne Pfad.

Kann mir jdm HElfen???

P.S. Ich mache das immoment mit einer FileListBox.

nTE 11. Okt 2003 12:04

Re: Playlist Programmieren....
 
Ich weiss gar nicht ob das mit TFileListBox geht.
So wie ich das lese kann die nur alle Dateien aus einem Ordner anzeigen.
Daher würde ich dir eine normale ListBox empfehlen und die kompletten Dateinamen (mit Pfad) in einer TStringList.
Dann überträgst du die Namen aus der TStringList nach TListBox.Items mit
Delphi-Quellcode:
for i := 0 to (myStringList.Count - 1) do
  ListBoxPlaylist.Items.Append(ExtractFileName(myStringList[i]);
Davor sollte die ListBox natürlich leer sein.
Und wenn du dann irgendwelche Änderungen an einer der beiden Listen vornimmst, solltest du diese auch bei der anderen durchführen (z.B. bei verschieben eines Playlisteintrags), denn so kannst du den Index der einen Liste bei der anderen verwenden.

Bsp:
Delphi-Quellcode:
for i := 0 to (ListBoxPlaylist.Items.Count - 1) do
  begin
    if ListBoxPlaylist.Items.Selected[i] then
      Play(myStringList[i]);
  end;
Würde dann ganz einfach die Datei abspielen die gerade angewählt wurde (also bei ListBoxPlaylist -> OnClick einfügen). Dafür muss MultiSelect bei der ListBox natürlich false sein aber warum würdest du auch MultiSelect verwenden wollen. =)
(Wobei die Funktion Play natürlich deine Aufgabe wäre ;)

pmc 11. Okt 2003 12:10

Re: Playlist Programmieren....
 
Erstmal danke ... das kann ich gut verweden!!!

Wo finde ich denn eine string list oder muss ich die einfach
wie ne variable deklarieren???

nTE 11. Okt 2003 12:21

Re: Playlist Programmieren....
 
Die Erklärung zu TStringList in der Hilfe ist eigentlich recht gut:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
    TempList: TStringList;     { Liste deklarieren }
begin
    TempList := TStringList.Create;         { Listenobjekt erzeugen }
    try
      { Stringliste verwenden }
    finally
      TempList.Free;     { Listenobjekt freigeben }
    end;
end;
Die wichtigen Punkte hierbei sind:

TempList := TStringList.Create;
und
TempList.Free;

Free ist besonders wichtig, da sonst der Speicher für die Stringliste nicht wieder ordnungsgemäß freigegeben wird.

Das try.. finally Konstrukt stellt sicher, dass die Liste freigegeben wird, auch wenn (im try Abschnitt) etwas schiefgeht.

Du kannst die Stringliste natürlich auch am Start des Programms (Form.OnCreate) erzeugen und beim beenden freigeben.


Übrigens, du solltest dir mal die Methoden LoadFromFile und SaveToFile von TStringList anschauen, die könnten dir bestimmt nützlich bei der Dateiarbeit mit der Playlist sein (Laden und Speichern der Playlist).


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.

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