Ergebnis 1 bis 8 von 8

Thema: Gibt es eine Möglichkeit zu überprüfen ob eine BGM vollständig abgespielt wurde?

  1. #1

    Gibt es eine Möglichkeit zu überprüfen ob eine BGM vollständig abgespielt wurde?

    Guten Abend.
    Meine heutige Frage, ich habe lange daran gerätselt doch es letzten Endes aufgegeben alleine die Lösung zu suchen, kann man überprüfen ob eine BGM vollständig durchgespielt wurde?

    Ich versuche eine Art Play-List für BGMs zu implementieren. Eine Reihe von BGMs, allesammt innerhalb eines Verzeichnisses, sollen nach einander abgespielt werden. Ist die letzte BGM beendet worden startet die gesammte Play-List von ihrem Anfang.

    Vielen Dank für eure Antworten.
    Cornix.

  2. #2
    du könntest ja zB. einen Wait-Befehl einbauen, der überprüft, ob eine Anzahl an Frames (X) zteit dem Abspielen der BGM vergangen sind.
    Ansonsten könntest du sicherlich irgendwie mit dlls oder so ähnlich die Länge des Musikstückes auslesen.

  3. #3
    Nun, bisher benutze ich eine zufällige Wartezeit in einem bestimmten Rahmen bevor die nächste BGM beginnt. Dies ist jedoch keine Lösung welche ich favorisiere. Ich würde es allzu schade finden falls sich diese Idee nicht umsetzen ließe.

  4. #4

    Users Awaiting Email Confirmation

    Ich kenn mich mit dem XP/VX oder was auch immer du nutzt nicht so sonderlich aus, aber im RM2k würd ich´s so machen:
    Ein paralleles Common Event, dass am Anfang die Variable Musiktitel auf einen zufälligen Wert zwischen 1 und x (der Anzahl deiner Songs) setzt und dann in einer Fork abfragt welche Zahl denn nun gerade aktuell ist. Dann soll er als Ergebnis die BGM spielen. Dann kommt ein Wait Befehl von der Länge deines Stückes und dann beginnt die ganze Geschichte von neuem. Müsste eigentlich laufen. Sieht dann ungefähr so aus:
    Ist die Variable 1:
    Spiele Stück xyz
    Warte xxx Sekunden
    Else Case:
    Ist die Variable 2
    Spiele Stück xyz 2
    usw...

    Müsste eigentlich funktionieren

  5. #5
    Vielen Dank für den Versuch, aber leider kann mir das nicht helfen. Ich kenne die Dauer der einzelnen Stücke nicht. Der Spieler ist selbst in der Lage Musikstücke seiner Wahl in das Spiel ein zu bauen und über das Menü eine Playlist zusammen zu stellen welche die Stücke enthält welche er wählt. Es kann jedes Stück sein mit völlig beliebiger Länge. (solange es der RPG-Maker abspielen kann zumindest)

    Müsste es nicht eine Möglichkeit geben das Musik-File des Stückes zu öffnen und die Länge des Soundtracks ab zu fragen? Vielleicht kennt sich jemand damit aus wie die Files aufgebaut sind und an welcher Stelle man nach der Länge suchen sollte.

  6. #6

    Users Awaiting Email Confirmation

    Ich denke mit Ruby könnte man da bestimmt was machen, aber damit kenne ich mich überhaupt nicht aus, ich bleibe beim guten alten 2k^^

  7. #7
    Das Problem am Musicplayer des RPG-Maker XP ist, dass du durch den Script-Editor nur sehr beschränkten Zugriff auf ihn hast. Außer das Abspielen, Ändern oder Stoppen eines Stücks aufzutragen lässt sich an dieser Stelle nicht sonderlich viel ausrichten.

    Evtl. wäre es durch Ändern/Hinzufügen einer dll möglich eine solche Möglichkeit zu ergänzen (es gibt beispielsweise schon ein Script um "Winamp" über Scriptbefehle durch den Maker zu kontrollieren, auch wenn das schon wieder etwas völlig anderes ist), allerdings bin ich ab da ebenfalls überfragt...

    Hinzu kommt, dass die Musikstücke auch dann noch weiter abgespielt werden, wenn das Spiel in den Hintergrund gesetzt wird, wärend der Rest des Spiels in dieser Situation pausiert wird, was eine Abfrage nach Zeit ebenfalls etwas behindern könnte...

    Geändert von ETeCe (09.12.2010 um 08:18 Uhr)

  8. #8
    Ich bin soweit gekommen, dass ich die Musik-Files einfach per IO Stream öffnen und einlesen kann. Wahrscheinlich werde ich darüber die Länge abfragen können. Allerdings kenne ich mich nicht aus an welcher Stelle welches Format die Länge speichert.
    Sollte ich diese Frage lieber im Programmierungsforum stellen?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •