title image


Smiley Re: Was verstehst du denn nicht?
Ich versteh einfach nicht, warum der Notify nicht so arbeitet, wie er müsste.

Ich deaktviere die Notify abfrage, wenn das programm gestartet wird (FormCreate)

Die Notify überprüfung wird erst dann aktiviert, wenn der Resetbutton geklickt wird.

dann wird das ende.wave abgespielt (was zum Buttonklick gehört) und danach, weil der notify Ausgelöst wird, dürfte doch erst die prozedure TForm1.MediaPlayer1Notify aktiviert werden, die dann natürlich sofort anspringt und die ende.wave nochmals abspielt.

wenn die Datei dann das erste mal vom Notifyevent abgespielt wurde, dann wird der Notify wieder deaktivert (Delphi arbeitet sich ja schrittweise durch den Quellcode)

und es müsste Ruhe herrschen.



Den von mir beschrieben vorgang bekomme ich aber so nur hin, wenn ich die beiden If Abfrage (bei "TForm1.MediaPlayer1Notify") aktiviere.

Jedoch läuft es dann richtig ab, wenn ich MediaPlayer1.Notify:=false/true nirgends stehen habe.



Also: was zum himmelswillen ist bei mir FALSCH?



Und wenn ich den Quellcode von coyoto richtig gelesen habe, spielt es auch bei ihm keine Rolle, ob Notify auf true/false gesetzt wird.

Bei ihm übernimmt ebenfalls die anzahl des Abspielens die If abfragen und das dec.



procedure TForm1.FormCreate(Sender: TObject);

begin

MediaPlayer1.FileName:='load.wav';

MediaPlayer1.open;

MediaPlayer1.Notify:=false;

MediaPlayer1.play;

endecounter:=1;

end;





procedure TForm1.MediaPlayer1Notify(Sender: TObject);

begin

{if MediaPlayer1.FileName='ende.wav' then

if endecounter=2 then}

if mediaplayer1.Position = mediaplayer1.Length then begin

MediaPlayer1.Close;

MediaPlayer1.FileName:='ende.wav';

MediaPlayer1.open;

MediaPlayer1.play;

endecounter:=1;

MediaPlayer1.Notify:=false;

end ;

end;



procedure TForm1.Reset1Click(Sender: TObject);

begin

endecounter:=2;

Timer1.Enabled:=false;

MediaPlayer1.FileName:='ende.wav' ;

MediaPlayer1.open;

MediaPlayer1.Notify:=true;

MediaPlayer1.play;

end;

Gruß
HammeL
Ostfriese mit Leib und Seele.

Besser ein Schritt in die richtige Richtung, als gar keine Antwort.

Das ist nur ein Spiel, ich schiesse nur auf Polygone; ausserdem habe ich nach einer Runde Schach auch nicht das verlangen, jemand anderen wegzuschubsen, oder?

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: