Einzelnen Beitrag anzeigen

master87

Registriert seit: 17. Sep 2009
3 Beiträge
 
#13

Re: M3U Playlist Creator

  Alt 18. Sep 2009, 22:56
Naja man kann ja nur mp3 und wav in die playlist einfügen.Veleicht ist das hier was für dich hab ich sogar hier gefunden.
Ist auf der bass.dll aufgebaut und ist aus dem Porject Mein erster mp3 player.
Delphi-Quellcode:
procedure TForm1.BtnAddFilesClick(Sender: TObject);
var i: Integer;
begin
  if FilesOpenDialog.Execute then
    for i := 0 to FilesOpenDialog.Files.Count - 1 do
      MeMPPlaylist.Add(FilesOpenDialog.Files[i]);
end;//Die Sounds werden in eine Tlistview eingefügt
Gespeichert wird das ganse so
Delphi-Quellcode:
procedure TForm1.BtnSaveListClick(Sender: TObject);
begin
  if PlaylistSaveDialog.Execute then
    MeMPPlaylist.SaveToFile(PlaylistSaveDialog.FileName);
end;
Delphi-Quellcode:
// ================================================
// Playlist-Dateien laden und speichern
// ================================================
procedure TMeMPPlaylist.LoadFromM3U(aFilename: String);
var mylist: tStringlist;
  i: Integer;
  s: String;
begin
  mylist := TStringlist.Create;
  mylist.LoadFromFile(aFilename);
  if (myList.Count > 0) then
  begin
    if (myList[0] = '#EXTM3U') then //Liste ist im EXT-Format
    begin
      i := 1;
      while (i < myList.Count) do
      begin
        // Zuerst kommen ggf. die ExtInf-Daten
        s := myList[i];
        if trim(s) = 'then
          inc(i)
        else
        begin
          if (copy(s,0,7) = '#EXTINF') then // ExtInf-Zeile überspringen
            inc(i);
          Add(ExpandFilename(myList[i]));
          inc(i);
        end;
      end;
    end
    else
      // Liste ist nicht im EXT-Format - einfach nur Dateinamen
      for i := 0 to myList.Count - 1 do
      begin
        if trim(mylist[i])='then continue;
        Add(ExpandFilename(myList[i]));
      end;
  end;
  FreeAndNil(myList);
end;
Delphi-Quellcode:
Hier wird sie direckt alls m3u gespeichert
procedure TMeMPPlaylist.SaveAsM3U(aFilename: String);
var myList: tStringlist;
    i:integer;
    aAudiofile: TAudioFile;
begin
  myList := TStringList.Create;
  myList.Add('#EXTM3U');
  for i := 0 to fPlayList.Count - 1 do
  begin
    aAudiofile := fPlaylist[i] as TAudioFile;
    myList.add('#EXTINF:' + IntTostr(aAudiofile.Dauer) + ','
          + aAudioFile.Interpret + ' - ' + aAudioFile.Titel);
    myList.Add(ExtractRelativePath(aFilename, aAudioFile.Pfad ));
  end;
  myList.SaveToFile(afilename);
  FreeAndNil(myList);
end;
  Mit Zitat antworten Zitat