Thema: Delphi Media Player

Einzelnen Beitrag anzeigen

jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#1

Media Player

  Alt 9. Feb 2010, 11:20
Hi,


ich möchte nen Programm schreiben, dass Mp3 dateien findet und abspielt.

bis jetzt taucht da aber immer ein Fehler auf:

Delphi-Quellcode:
var
  Form3: TForm3;
  sl2: TStringList;

implementation

uses Unit1;

{$R *.dfm}


Procedure FindFiles (aPath, aFindMask: String; aWithSub: Boolean; aResult: tStrings; removePath:Boolean); //eine rekursive suche die funktionieren müsste
Var
  FindRec: tSearchRec;
Begin

  If (aPath = '') or (aFindMask = '') or Not Assigned (aResult) Then
    Exit;

  If aPath[Length (aPath)] <> '\Then
    aPath := aPath + '\';


  If FindFirst (aPath + aFindMask, faAnyFile, FindRec) = 0 Then
    Repeat
      If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then
    begin
     if removePath then
      aResult.Add(ExtractFileName(aPath + FindRec.Name))
     else
      aResult.Add(FindRec.Name);
    end;
    Until FindNext (FindRec) <> 0;

  FindClose (FindRec);


  If Not aWithSub Then
    Exit;


  If FindFirst (aPath + '*.*', faAnyFile, FindRec) = 0 Then
    Repeat
      If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then

        If Boolean (FindRec.Attr and faDirectory) Then

          FindFiles (aPath + FindRec.Name, aFindMask, aWithSub, aResult, false);
    Until FindNext (FindRec) <> 0;

   FindClose (FindRec);
End;

procedure TForm3.Button1Click(Sender: TObject);
begin
 if SelectDirectory('Verzeichnis wählen', '*:\', sDir) then
  begin
   if DirectoryExists(sDir) then
    begin

     FindFiles(sDir, '*.mp3', True, CheckListBox1.Items, true); //hier soll er dann die Mp3´s (nur den namen) auflisten
     FindFiles(sDir, '*.mp3', true, sl2, false); // und einmal den kompletten pfad+name+.mp3 in sl2 speichern.


    end;
  end;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin

 sl2 := TStringList.Create;

end;

procedure TForm3.FormDestroy(Sender: TObject);
begin

 sl2.Free;
end;

procedure TForm3.Button2Click(Sender: TObject);
Var i:integer;
begin
i:=0;
repeat
 if checklistbox1.Checked[i] then
  begin
  MediaPLayer1.FileName:=sl2.Strings[i]; //hier möchte ich dann sl2 als pfad+name+.mp3 für die datei angeben
  MediaPlayer1.Open;
  MediaPlayer1.Play; //und die musik starten.
  end;
 i:=i+1;
until i=checklistbox1.Count-1
end;
Mein Problem:

Es kommt immer die Fehlermeldung:

Die Datei wurde nicht gefunden. Bitte stellen sie sicher, dass der Pfad und der Dateiname richtig sind.


Vier Fragen:

1. Wie kann ich dieses Problem lösen?
2. Wieso tritt dieses auf, also wo ist mein Denkfehler.
3. Gibt es sonst noch etwas, an meinem Programm, das ich ändern sollte, weil es anders besser schneller einfacher ect. funktioniert?
und
4. Nach dem beheben des Fehlers, müsste doch so alles funktionieren oder?

Naja, viele Fragen.

Danke schonmal.

MFG
Jonsen
  Mit Zitat antworten Zitat