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;