Frage zu audio_create_stream(filename)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Frage zu audio_create_stream(filename)

    Hallo zusammen,

    ich möchte für mein Projekt .ogg - Files während der Laufzeit mit Hilfe von audio_create_stream(filename) ins Spiel einladen.
    Nun habe ich folgendes Problem. Die Funktion audio_create_stream(filename) gibt nicht die Sound-ID zurück, die ich benötige, um den Sound späte mit audio_sound_exists anzusprechen.
    Diese ID bekommt man z.B. über die Funktion audio_play_sound().

    Wenn ich die ID durch audio_play_sound in einer Variable speichere und der Sound im Spiel mit audio_sound_stop ausgeschaltet wird, kann ich die ID nicht mehr nutzen.

    Wie kann ich also auf den Sound, den ich über audio_create_stream(filename) erhalte immer auch nach Ablauf des Sounds noch zugreifen? (So wie bei den ins Spiel integrierten Sounds)
  • Hi,
    Ich habe jetzt nur die Funktion audio_exists gefunden, meintest du die?
    Wofür benötigst du die Abfrage? Vielleicht kann man das dann noch etwas anders lösen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Ich möchte zu einer bestimmten Zeit einen Sound einladen, der dann so lange zugreifbar sein soll, bis ich ihn mal nicht mehr brauche. Er soll im Laufe des Spieles öfter verwendet werden, ohne jedes Mal neu eingeladen werden zu müssen.
    Wird im Spiel der Sound benötigt, soll zunächst geprüft werden, ob er bereits eingeladen wurden ist. Das mache ich derzeit mit der Funktion audio_exist().
    Ist er noch nicht eingeladen (existiert der Sound nicht), so wird er eingeladen. Andererseits soll er auf den bereits zuvor eingeladenen Sound zugreifen können.

    (Klingt etwas dumm, aber ich denke, man weiß was gemeint ist.
  • Dann würde ich das anders machen.
    Nehme beispielsweise eine ds_map und Speicher die ids da drin. Du kannst dir dann Funktionen machen für get und remove.
    Die get Funktion schaut, ob der Eintrag, der gesetzt wurde (Dateiname ohne .ogg) wenn nicht, oder auf -1 steht lade ihn. Bei der delete Funktion lösche den sound und setze den Eintrag auf -1.
    So kannst du dann sehr einfach damit umgehen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Danke Husi,

    so ähnlich habe ich es jetzt auch gelöst. Ich nutze jedoch aus bestimmten Gründen ein Array und keine map. Nach langen Herumdoktern und Testen ist es mir nun endlich gelungen!!!!

    Jahuuuuuu.... kein Knacken mehr und die Sounds werden im schönen Klang alle abgespielt! Durch den Einsatz von ogg Dateien hat sich das Datenvolumen auch noch zugleich massiv verringert. Es wird langsam... :thumbup: