MeMP - Mein einfacher Mp3-Player
Kapitel 7. MeMP Testprojekt, Version 3.0
Wir werden nun die Events benutzen, um den Player etwas schöner zu gestalten. Dafür schreiben wir fünf kurze Prozeduren.
procedure TForm1.OnMeMPPlay(Sender: TObject);
begin
MainTimer.Enabled := True;
BtnPlayPause.Caption := 'Pause';
end;
procedure TForm1.OnMeMPPause(Sender: TObject);
begin
MainTimer.Enabled := False;
BtnPlayPause.Caption := 'Weiter';
end;
procedure TForm1.OnMeMPStop(Sender: TObject);
begin
MainTimer.Enabled := False;
BtnPlayPause.Caption := 'Play';
end;
procedure TForm1.OnMeMPChange(Sender: TObject);
begin
LblTitel.Caption := (Sender as TMeMPPlayer).PlaylistTitel;
end;
procedure TForm1.OnMeMPEndFile(Sender: TObject);
begin
MeMPPlayer.Play(GlobalAudioFile);
end;
Den Abspielbutton beschriften wir je nach Situation um und schalten den Timer an oder aus. Wenn ein Lied zu Ende ist, starten wir die Wiedergabe erneut. Wurde in der Zwischenzeit kein anderes Lied ausgewählt, wiederholt sich das alte, ansonsten startet das neue. Es wird halt das abgespielt, was in der Memo steht.
Diese Methoden weisen wir im FormCreate den entsprechenden Events unserer Player-Instanz zu. Im Falle von Resume machen wir dasselbe wie bei Play – so ein gewaltiger Unterschied ist da ja nun auch nicht.
procedure TForm1.FormCreate(Sender: TObject);
begin
// ...
MeMPPlayer.OnEndFile := OnMeMPEndFile;
MeMPPlayer.OnPlay := OnMeMPPlay;
MeMPPlayer.OnResume := OnMeMPPlay;
MeMPPlayer.OnPause := OnMeMPPause;
MeMPPlayer.OnStop := OnMeMPStop ;
MeMPPlayer.OnChange := OnMeMPChange;
end;