Abfragen ob die Musik noch läuft



  • 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 Open

    if ((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


Anmelden zum Antworten