![]() |
Notify Prozedur für TMediaPlayer lässt Programm hängen.
Hallo,
beim Aufrufen des Programms, sollen nacheinander drei Midis abgespielt werden. Mit wait:=true funktioniert dann die nächsten 10min gar nichts mehr, geht also nicht. Dann wollte ich mit hilfe von notify:=true ein OnNotify Ereignis aufrufen und mit einer globalen Variable i vom Typ integer prüfen, die wievielte Midi bereits gespielt wurde. Das Problem ist nur, dass nach dem ersten abspielen, wenn also das erste mal die Prozedur für OnNotify aufgerufen wird, dann hängt sich das Programm auf. Liegt das Problem an einem Programmierfehler oder ist die Idee komplett unbrauchbar für dieses Problem? Code gibt's natürlich auch:
Delphi-Quellcode:
Vielen Dank für die Hilfe
procedure TForm2.FormCreate(Sender: TObject);
begin with Mediaplayer1 do begin FileName:= ExtractFilePath(ParamStr(0))+'Midi1.mid'; {Da die Midi files alle im selben Ordner wie das Programm liegen benutze ich ExtractFilePath(ParamStr(0)) um den Speicherort der Exe einzufügen, dass dies funktioniert sieht man ja daran, dass die erste Midi abgespielt wird.} Open; Play; i:=0; Notify:=true; Close; end; end; procedure TForm2.MediaPlayer1Notify(Sender: TObject); begin if i=0 then begin; with Mediaplayer1 do begin; FileName:=ExtractFilePath(ParamStr(0))+'Midi2.MID'; Open; Play; i:=1; Notify:=true; Close; end; end else if i=1 then begin; with Mediaplayer1 do begin; FileName:=ExtractFilePath(ParamStr(0))+'Midi3.Mid'; Open; Play; Close; end; end; end; Trush |
Re: Notify Prozedur für TMediaPlayer lässt Programm hängen.
AHHHHHHHHHHHH,
manchmal sieht man den Wald vor lauter Bäumen nicht. :wall: Man kann den FileName natürlich erst ändern, wenn man den Mediaplayer vorher beendet hat! Wenn die Notify-Prozedur aufgerufen wird, als erstes folgende Zeile einfügen: If Mediaplayer1.Mode = mpOpen then Mediaplayer1.close; Ansonsten bleibt alles beim alten. Gruß Trush |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz