![]() |
Playlist mit Tmediaplayer
Hi
Ich bin gerade dabei das ich einen Mediaplayer mit Delphi programmiere und auch eine Playlist dazu. Bisher hat alles gut funktioniert. Ich habe eine Listbox erstellt und kann die Lieder auswählen die ich dann abspielen möchte, doch ich will auch automatisch wenn das eine Lied zu Ende ist auf das Nächste überspringen. Es geschieht leider nichts. Hier wäre der Code:
Delphi-Quellcode:
[edit=Matze][delphi]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG, Matze[/edit]
procedure TForm1.ListBox1Click(Sender: TObject);
var i: Integer; begin for i:=0 to listbox1.Items.Count -1 do begin if Listbox1.Selected[i] then mediaplayer1.FileName:=listbox1.Items.Strings[i]; mediaplayer1.Open; mediaplayer1.Play; ProgressBar1.Max:=Mediaplayer1.Length; label2.Caption:=timetostr((mediaplayer1.TrackLength[1]/(3600000*24))); end; if mediaplayer1.Position = mediaplayer1.Length then begin mediaplayer1.FileName:=listbox1.Items.Strings[i+1]; mediaplayer1.Play; end; end; |
Re: Playlist mit Tmediaplayer
Hallo, herzlich Willkommen!
Das Problem ist, dass du die ListBox in einer Schleife durchläufst. Der MediaPlayer pausiert die Schleife nicht, bis das Lied zu Ende ist. D.h. du öffnest sehr schnell hintereinander alle Lieder aus deiner ListBox. Falls der TMediaPlayer kein entsprechendes Ereignis haben sollte, könntest du einen Timer bsp. im 500-Milisekunden-Takt mitlaufen lassen, der die Liedposition prüft und ggf. ein neues Lied startet. |
Re: Playlist mit Tmediaplayer
Danke für die schnelle Antwort.
Ok das Problem wär mir nicht aufgefallen. Gibts es eine andere Möglichkeit 'i' zu definieren, ohne dass ich eine Schleife verwende? |
Re: Playlist mit Tmediaplayer
Da ist dann wohl der
![]() (Nicht bös gemeint, das Tutorial heißt nunmal so. ;-)) |
Re: Playlist mit Tmediaplayer
Werd ich mir mal ansehen, danke :-D
|
Re: Playlist mit Tmediaplayer
Nun habe ich eine weiteres Problem entdeckt. Wenn ich in meiner ListBox das Lied in der 2. Leiste zum Beispiel auswähle, erscheint ein Fehler:
Kann keinen Gerätetyp aus der angegebenen Dateinamenerweiterung ermitteln |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz