mciSend-Musik in der Schleife

  • Derzeit experimentiere ich mal wieder mit der MCISend Funktion von XProfan. Eine MP3 Datei soll in der Schleife abgespielt werden. Da während des Abspielens das Programm weiter abarbeitet, muss vor dem nächsten PLAY Befehl zunächst gewartet (geprüft) werden, ob die Datei noch spielt, sonst funktioniert die Schleife nicht. Das geht mit zwei unterschiedlichen Methoden: While/EndWhile Schleife nebst Statusprüfung oder per Play 'song' Wait Befehl direkt via MCISend (siehe Code unten).

    Problem bei dieser Sache: Dieser Vorgang lässt sich nicht unterbrechen! Gibt es hier eine elegante Variante, die das trotzdem erlaubt?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die Pause und der Resume - Befehle gibt es ja auch.

    Ich habe es jetzt mal so gemacht :

    Ich hätte zwar gerne die Pause-Taste gehabt, aber %Key scheint diesen virt. Tastencode

    nicht zu kennen. Deshalb die 0 und die 1.

    Natürlich kann man auch noch ein status% = 1 / 0 setzen, um den Status zu setzen

    bzw. abzufragen. Ist im Code schon drin.

    Schau mal, ob es bei dir auch so funktioniert, bzw. hast du das gemeint ?

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    5 Mal editiert, zuletzt von H.Brill (9. März 2023 um 14:56)

  • Vielen Dank.

    Die play/stop/pause/resume/ Funktionen sind nicht das eigentliche Problem, sondern der Kniff besteht darin, die Datei z.B. 2 o. 3 mal hintereinander abgespielt zu bekommen ohne zusätzlichen Eingriff ins Geschehen. Das geht auch (s.o.), jedoch kann ich dann das ganze nicht mehr stoppen, weil ich in einer Schleife hänge.

  • Abifiz 9. März 2023 um 17:40

    Hat den Titel des Themas von „MCISend - Musik in der Schleife“ zu „mciSend-Musik in der Schleife“ geändert.
  • Vielleicht geht sowas auch, wenn man den Sound in einem Prozess (Multiprozessing)

    abspielt. Den Prozess (pExec) könnte man ja auch mit Process("Suspend", Pid%),

    Process("Resume", Pid%) und Process("Kill", Pid%) steuern. Oder auch über eine

    Filemap mit dem Prozess kommunizieren. Da das Abspielen wahrscheinlich in einem

    nochmals eigenen Prozess läuft, könnte man eine Bereichsvariable im Hauptprogramm

    mit einem Wert bestücken und im Prozess auswerten und dann je nach Wert die Befehle

    MciSend$("pause mysong") und MciSend$("resume mysong") entsprechend

    ausführen.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    2 Mal editiert, zuletzt von H.Brill (9. März 2023 um 19:19)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!