24. september 2009 - 11:10Der er
8 kommentarer og 1 løsning
mp3player fra tekstfil
Jeg har en tekstfil med følgende indhold:
F:\Safri duo - Played a live,Absolute music 26.MP3 F:\Sanne Salomonsen - Den Lille Løgn,Absolute Music 13.MP3 F:\Samantha Fox - Touch Me (I Want Your Body),Greatest Hits.MP3
Filen bliver læst, men det er kun den sidste mp3 fil, som bliver afspillet, hvordan får jeg den til at afspille alle 3 filer efter hinanden?
AssignFile(txt,ExtractFilePath(Application.ExeName)+'Playlists\'+MMPlayLists.SelText+'.txt'); Reset(txt); While not eof(txt) do begin readln(txt, MP3); if FileExists(MP3) then begin mp3player.Close; mp3player.FileName:=MP3; mp3player.Open; mp3player.Notify:= true; StatusBar1.simpleText:='Afspiller nu: '+MP3; mp3player.Play; end else Showmessage(MP3+' findes ikke'); end; end;
Det virker fint, bortset fra at programmet ikke reagere på noget før alle sangene er færdig, så jeg kan heller ikke få lov at trykke på stop af afspilning af musik.
Nå, så må du gøre som jeg har gjort, selv om jeg har fået at vide at det er forkert. Lav en Global Integer, som bruges til at tælle gennem din tekstfil. Således at den mp3 fil, Integeren peger på, er den næste melodi der skal spilles. Sæt en Timer på der trigger 10 gange i sekundet.
procedure TForm1.Timer1Timer(Sender: TObject); begin if (MediePlayer.Position = 0) or (MediePlayer1.Position >= MediePlayer1.Length) then begin MediePlayer1.FileName := // Den næste fra listen. MediePlayer1.Open; MediePlayer1.Play; end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.