procedure TForm1.Button5Click(Sender: TObject);
begin
opendialog1.execute;
listbox1.items.Add(opendialog1.filename) ;
listbox1.selected[0];
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
listbox1.items[0];
for i:=1 to listbox1.items.count do
MediaPlayer1.FileName:=listbox1.Items[i];
MediaPlayer1.open;
MediaPlayer1.Play;
end;
das is der source code! habe ein button play eine listbox einen media player und eine listbox!
MediaPlayer1.FileName:=listbox1.Items[1];
wenn ich auf 1 bzw ne andere zahl in der listbox zuweise gez ansonst kommt ein fehler!!! wieso? kann mir da jemadn helfen! wenn ich auf play klicke soll der markierte pfad sprich die mp3 datei abspieln!! bitte um Hilfe

Media Player | Abspielliste
-
-
Ne ListBox fängt bei 0 an und hört bei ListBox.Items.Count - 1 auf.
Au�erdem find ich deinen Code irgendwie nicht so gelungen, dafür würde ich keine Schleife nutzen sondern mit dem OnNotify Ereignis arbeiten. Man kann auch Sounddateien abspielen ohne den klickibunti Player zu benutzen (ich kann ihn nicht leiden...höchstens wenn er auf invisible ist), einfach mit sndPlaySound. -
jep also ich hab zum ersten mal versucht Musik in Delphi abzuspielen also versuch ich es erst mal mit dem Player! würde ihn eh unsichtbar machen finde den ehrlich gesagt auch nicht gerade ne Wucht .... werde mir deine Idee mal anschauen trotzdem würde ich gerne meinen Fehler wissen! er soll auf die markierte Zeile in der List box zugreifen und wenn ich auf Play drück soll die Musik abgespielt werden.... das geht jedoch nicht! jemand eine Idee wieso nicht?
-
Ich würde das so schreiben:
Der Unterschied ist, dass bei mir, wenn man auf Abbrechen drückt, nichts in die ListBox hinzugefügt wird, da bei Abbrechen der OpenDialog1.Execute = false ist.
Für was das stehen soll blick ich jetzt nicht ganz.
Was soll das bewirken?
So, jetzt kommen wir zu deiner Schleife:Bei dir wird nur die zweite Schleife in der ListBox durchgeführt, d.h. er zählt i hoch und ändert jedesmal den Pfad für den Mediaplayer, also wird er nur das letzte in der ListBox abspielen. Die anderen zwei Zeilen kann man einfach mit begin und end in die Schleife dazufügen.
Jetzt hast du noch nen kleinen Fehler gemacht, eine ListBox fängt mit 0 an, du darfst also nicht i von 1 ab zählen lassen sondern von 0 und daher ist der letzte Eintrag nicht ListBox1.Items.Count sondern ListBox1.Items.Count - 1.
Das ganze sieht also so aus:Und für was war die Zeile da?
Wie man ne markierte Zeile abspielt muss ich noch kurz schaun, irgendwie finde ich keine Funktion, mit der man sich die Nummer des markierten Items ausgeben kann.
-
Stimmt das mit meiner schleife war ein sehr dummer Fehler das mit dem selected und so war nur herumprobiert... ned wichtig.... jetzt fehlt nur noch die Zeile das er auf das markierte zugreift.... und da häng ich jetzt auch
-
wer was weis wie man das regeln kann soll mich im ICQ Adden:406575265 DANKE
-
Versuchs mal mit ItemIndex...
-
Na, wie weit bist du jetzt mit deinem MediaPlayer? Das mit der Schleife funktioniert ja leider nicht, wie ich dir schon erklärt habe. Ich kann dir wenn du willst dann erklären wie sich das ganze mit einem Timer lösen lässt.