Einzelnen Beitrag anzeigen

teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#5

Re: Im Hintergrund Musik endlos abspielen

  Alt 28. Mai 2004, 19:48
Du kanst Dir von Windows eine Nachricht schicken lassen, wenn das Stück zu Ende ist:
Delphi-Quellcode:
 // zuerst MidiFile öffnen (mit Alias)
mciSendString(PChar('open "'+MidiFile+'" alias mymidi'),nil,0,0);

// dann abspielen (mit Notify)
mciSendString('play mymidi from 0 notify',nil,0,Handle);
Durch das 'notify' wird immer dann, wenn das Stück zu Ende ist, eine MM_MCINOTIFY-Nachricht an das angegebene Fenster (Handle) gesendet. Die muss nur noch ausgewertet werden:
Delphi-Quellcode:
public
  ...
  procedure MidiLoop(Var Message: TMessage); message MM_MCINOTIFY;
  ...

Procedure TForm1.MidiLoop(Var Message: TMessage);
Begin
  mciSendString('play mymidi from 0 notify',nil,0,Handle); // und neu abspielen
End;
Sollte noch das einfachste sein...

Gruß, teebee
  Mit Zitat antworten Zitat