Abfragen ob die Musik noch läuft
-
Hallo,
kannst du mir es zeigen wie es geht?
-
Hallo
da du ja nicht genau sagst welches, entscheide ich wegen der Einfachheit für TMediaPlayer. Und wie diese Komponente aufgebaut ist kannst du in der BCB-Hilfe nachlesen, und hier im Forum findest du über die SuFu zu *mediaplayer* auch eine Menge Threads.
bis bald
akari
-
Mediaplayer läuft aber wie weis ich jetzt wann der Sound zu ende ist? Meine Hilfe ist defekt
-
Hallo
Meine Hilfe ist defekt

BCB-Hilfe schrieb:
Das Ereignis OnNotify wird ausgelöst, wenn die Ausführung einer Methode zur Steuerung des Media-Players beendet ist.
__property Classes::TNotifyEvent OnNotify = {read=FOnNotify, write
=FOnNotify};Beschreibung
OnNotify tritt ein, sobald die Ausführung einer Methode zur Steuerung des Media-Players (Back, Close, Eject, Next, Open, Pause, PauseOnly, Play, Previous, Resume, Rewind, StartRecording, Step oder Stop) beendet ist. Voraussetzung dafür ist allerdings, daß die Eigenschaft vor dem Aufruf der Methode auf true gesetzt wurde. Nach einem OnNotify-Ereignis muß die Eigenschaft Notify erneut auf true gesetzt werden, damit das nächste OnNotify-Ereignis eintreten kann.
bis bald
akari
-
Das war eine Ausnahme. Sieh zu, dass du umgehend die Hilfe nach- bzw. den BCB neuinstallierst, sonst brauchst du hier nicht mehr auf Antworten zu huffen.
-
Hi,
kannst du mir kein Beispiel dafür geben weiß nicht wie es sonst geht danke
-
Bei mir läuft jetzt Musik
-
ja bei mir auch wenn sie jetzt zuende ist soll ne messagebox kommen nur wie??
-
Wie oft noch??
Nutze das TNotiy Event aus dem TMediaPlayer
-
ja das versuche ich auch aber ich bin newbie. Weis nicht wie es geht die komponete läuft bei mir schon nur das abfangen nicht wenn du es doch weisst kannst du mir doch ein Bsp geben danke
-
Geht nicht ist kein Fehler. Was hast du gemacht, was geht nicht?
-
hi, hier mein code:
if ((anzn == 10) | (anz_ == 5))
{
MediaPlayer1->Notify = true;
MediaPlayer1->FileName = "c:\\zwischen.wav";
MediaPlayer1->Open();
MediaPlayer1->Play();
}
Dann:if (MediaPlayer1->Notify == true )
{
Showmessage("test");
}
-
Hallo
Das ist natürlich Unsinn, und zeigt das du weder vollständige C++ noch VCL Grundkenntnisse hast.
Notify ist ein Event, also erstellst du erstmal mit dem Objektinspektor eine Eventmethode für diesen Event. Diese wird jetzt immer aufgerufen, wenn eine der aus der Hilfe erwähnten Methoden beendet wurde.
Da du aber jetzt das Play-Kommando abwarten willst, must du also den Notify-Flag genau vor Play setzen, nicht schon vor Openif ((anzn == 10) | (anz_ == 5)) { MediaPlayer1->FileName = "c:\\zwischen.wav"; MediaPlayer1->Open(); MediaPlayer1->Notify = true; MediaPlayer1->Play(); }Nun kannst du in der Eventmethode deine MessageBox anzeigen lassen
void __fastcall TForm1::OnMediaPlayerNotify(TObject* Sender) { Showmessage("test"); }Das ist natürlich nur ein Minimalbeispiel. Das ganze ist noch ausbaufähig, wenn du auf verschiedene Situationen und Zustände reagieren willst als nur auf dieses eine Play.
bis bald
akari