Ich habe in meinem Programm eine MediaPlayer-Komponente und ein Stringrid. In dem Stringgrid steht eine Liste von Dateinamen (MP3's) die soetwas wie eine Playlist darstellen.
Jetzt möchte ich bei jedem Klick auf den "Next"-Button des Mediaplayers die nächste Date aus der Liste abspiele, unabhängig davon, ob das abspielen der vorherigen schon beendet ist oder nicht.
Momentan sieht der Code dazu so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TfrmMain.mdplyrMP3Click(Sender: TObject; Button: TMPBtnType; var DoDefault: Boolean); var S1, S2 : String; begin case Button of btNext : begin mdplyrMP3.Stop; mdplyrMP3.Tag := mdplyrMP3.Tag + 1; mdplyrMP3.FileName := strgrdPlaylist.Cells[2, mdplyrMP3.Tag]; mdplyrMP3.Play; S1 := mdplyrMP3.ErrorMessage; s2 := S1; end; end; end; |
In "Tag" steht die Nummer des aktuellen Eintrags im Stringgrid. Also, dass zuweisen des neuen Dateinamens ist nicht das Problem, das funktioniert. Aber nach dem Aufruf von "Play" passiert nichts, obwohl die ErrorMessage sagt, es hätte geklappt.
Hape auch schon versucht, mit Open und Close vor dem wechsel die Komponente zu schliessen und vor dem Play zu öffnen. Funzt aber auch nicht.
Bin da echt ratlos...