Hallo Allerseits,
Ich will bei meinem Programm Hintergrund Musik laufen lassen, welche sind über eine CheckBox an und ausschalten lässt.
Das hab ich auch geschafft, allerdings nur mit einem Lied. Das Problem ist ich will mehrere Lieder in den TMediaPlayer einfügen und er soll immer ein zufälliges davon abspielen, wenn er mit einem Lied fertig ist.
Dafür könnte ich eure Hilfe gebrauchen, bisher sieht mein Code so aus:
Das wird in der FormCreate aufgerufen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TSoundManager.Start(); begin Songpath := 'Music\';
Songname := 'Main.wav'; with Form1.MediaPlayer1 do begin FileName := Songpath + Songname; Open; EndPos := TrackLength[1]; end; CurrentSongTime := Form1.MediaPlayer1.TrackLength[1]; end; |
Das wird in der Idle Procedure meines Programms aufgerufen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TSoundManager.PlayBackgroundMusic(); begin if not(ContinuePlayMusic) then begin if CurrentSongTime > 0 then begin CurrentSongTime := 0; Form1.MediaPlayer1.Stop; end; end else begin if (CurrentSongTime > Form1.MediaPlayer1.TrackLength[1]) or (CurrentSongTime = 0) then begin Form1.MediaPlayer1.Previous; CurrentSongTime := 0; Form1.MediaPlayer1.Play; end; CurrentSongTime := CurrentSongTime + Performance.Timegap; end; end; |
Vielen Dank im voraus.
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."