![]() |
Mediaplayer Playlist Wie WMP
Hallo, Ich habe mal eine frage die mich jetzt schon lange nervt:
ich habe eine listbox und mediaplayer mit playlist etc. Nun meine frage: Wie mache ich es, das der mediapalyer direkt bei ende auf das nächste lied springt, ich habs nur geschaft ihn auf den 2. titel zu bewegen:
Delphi-Quellcode:
Hoffe einer kann mir helfen!!!
If (MediaPlayer1.Position = MediaPlayer1.Length) then
begin MediaPlayer1.Close; groupbox1.Caption:=listbox1.Items.Strings[2]; sleep (50); MediaPlayer1.Open; Mediaplayer1.FileName:=groupbox1.Caption; MediaPlayer1.Play; end; |
Re: Mediaplayer Playlist Wie WMP
Eine Möglichkeit wäre z.B. dass du dir in einer globalen Variable vom Typ integer merkst (z.B. Liednummer:integer), welche Liednummer aktuell gespielt wird. Ist das aktuelle Lied beendet, erhöhst du die Variable (Liednummer:=Liednummer+1) um eins und ließt dann nicht listbox1.items.strings[2] aus, sondern listbox1.items.strings[Liednummer].
Wenn du noch fragen hast, poste am besten mal die ganze Unit! PS: Natürlich erstmal Willkommen in der DP! :dp: |
Re: Mediaplayer Playlist Wie WMP
Schau dir mal das Notify Event des Players an, damit findest du heraus
wann das Lied zu ende ist. |
Re: Mediaplayer Playlist Wie WMP
Hab Noch Ne frage, wie mache ich, dass er aufhört zu spielen oder von neu beginnt, wenn die playlist zuende ist???
Jetzt kommt nämlich immer "List index out of Bounds" |
Re: Mediaplayer Playlist Wie WMP
Zitat:
|
Re: Mediaplayer Playlist Wie WMP
Jo danke hat geklappt der funktioniert jetzt perfekt! :dance:
|
Re: Mediaplayer Playlist Wie WMP
Ok, so gut klappt es auch nicht...
Habe Noch eine Random Funktion eingebaut, aber jetzt schmiert das prog erst richtig ab: "listenindex...." Hab alles versucht und weiß leider nicht weiter:
Delphi-Quellcode:
falls es wichtig ist, Hab Rad Studio 2009 Architect, Also auch Delphi 2009.if button2.Down=true then //zufalls Button begin mediaplayer1.Stop; mediaplayer1.Close; i:=spinedit1.Value; spinedit1.MinValue:=0; spinedit1.MaxValue:=listbox1.Items.Count; //musste es über spinedit regeln Spinedit1.Value:=round(random*spinedit1.maxValue); //da ist glaub ich der fehler mediaplayer1.FileName:=listbox1.Items.Strings[i]; mediaplayer1.open; mediaplayer1.Play; end |
Re: Mediaplayer Playlist Wie WMP
Was hast du denn hier genau vor??
Denn das:
Delphi-Quellcode:
geht so mal gar nicht...
Spinedit1.Value:=round(random*spinedit1.maxValue);
|
Re: Mediaplayer Playlist Wie WMP
Also, ich möchte meine playlist in zufälliger reihenfolge abspielen, also erst das oberste lied, dann das letzte etc.
Frage: Warum Geht Das So Nicht??? |
Re: Mediaplayer Playlist Wie WMP
Von welchem Typ ist denn SpinEdit1.MaxValue ?
|
Re: Mediaplayer Playlist Wie WMP
spinedit1.maxvalue ist definiert aus der menge der lieder in der playlist, also aus der menge der strings in der listbox.
|
Re: Mediaplayer Playlist Wie WMP
Zitat:
Zitat:
Integer, String? //Edit: Moah, sieht aus wie Integer. Aber bist du dir wirklich über den Sinn deines QT im Klaren? |
Re: Mediaplayer Playlist Wie WMP
Achso, DAS MEINST DU, IST INTEGER
|
Re: Mediaplayer Playlist Wie WMP
Hast du dir schonmal die Hilfe zu
![]() |
Re: Mediaplayer Playlist Wie WMP
Außerdem brauchst du die SpinEdit Komponente überhaupt gar nicht dafür, du kannst alles mit der StringList machen!
|
Re: Mediaplayer Playlist Wie WMP
Das mit der spinedit komponente, also das ich sie nicht brauche, ist mir bewusst:)
Könnte mir den trtzdem einer helfen, Hab von random in dem bereich wenig erfahrung... |
Re: Mediaplayer Playlist Wie WMP
Zitat:
Wenn seine Liste 10 Elemente hat (MaxVal = 10), und Random als Beispiel 0.1415926535897932384626433832795 zurückliefert, dann wäre das ausgewählte Element =Round(0.1415926535897932384626433832795*10) =Round(1.415926535897932384626433832795) =1 MfG ;) |
Re: Mediaplayer Playlist Wie WMP
So, habs Gelöst, Funktioniert jetzt dann doch:
Delphi-Quellcode:
Wenn ich noch fragen hab, schreib ich sie wieder hier rein!!!
if button2.Down=true then
begin mediaplayer1.Stop; mediaplayer1.Close; case random (listbox1.Items.Count) of 0:i:=0; 1:i:=1; 2:i:=2; 3:i:=3; 4:i:=4; 5:i:=5; 6:i:=6; 7:i:=7; 8:i:=8; 9:i:=9; 10:i:=10; 11:i:=11; 12:i:=12; 13:i:=13; 14:i:=14; 15:i:=15; 16:i:=16; 17:i:=17; 18:i:=18; 19:i:=19; 20:i:=20; 21:i:=21; 22:i:=22; 23:i:=23; 24:i:=24; 25:i:=25; 26:i:=26; 27:i:=27; 28:i:=28; 29:i:=29; end; mediaplayer1.FileName:=listbox1.Items.Strings[i]; mediaplayer1.Open; mediaplayer1.Play; end |
Re: Mediaplayer Playlist Wie WMP
Zitat:
Delphi-Quellcode:
MfG,
i := random(listbox1.Items.Count);
Bug |
Re: Mediaplayer Playlist Wie WMP
Zitat:
[EDIT]@BUG: meins ist kürzer 8) [/EDIT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 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