Audiere Wrapper DLL

    • Dll

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

    • Version 1.03

      Ich hab es jetzt tatsächlich geschafft die "audiere.dll" mit in die "gma.dll" zupacken. Somit hat man also nur noch eine DLL und diese darf sich in einem beliebigen Ordner befinden. Dazu übergibt man bei "audiere_init(file)" den Pfad zur DLL. Außerdem gibt es noch ein paar kleine Änderungen. Die Funktionen für das streaming beginnen jetzt alle mit "audiere_stream" und die Funktion "audiere_stream_load" besitzt jetzt keinen zweiten Parameter, sondern es wird automatisch gestreamt. Downloadlink im ersten Post.

      @flogy
      Den Fehler kann ich mir auch nicht erklären. Probier mal ob es mit der neuen Version funktioniert.
    • Sehr schön, dass du es nun gepackt hast und es noch dazu auch nur noch eine DLL ist! Es macht wirklich Spaß, die Entwicklung deines Wrappers zu beobachten. Und bisher war für mich jede Neuerung brauchbar.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Ich bekomme jetzt auch eine Fehlermeldung, wenn ich mit der gma.dll einen Sound abspielen will:

      Ich habe erst Audiere Init aufgerufen, und wollte dann per audiere_stream_play(...) einen Sound abspielen, da kam diese Meldung. ( der Sound war '.ogg' )
      edit: ups, habe ich nicht... ><
      fabse64 -> haiyyu

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von fabse64 ()

    • Wie einige in den letzten Monaten sicher feststellen mussten, war meine Homepage nicht erreichbar und ich hatte übergangsweise eine kleine Seite eingerichtet damit wenigstens meine DLLs noch downloadbar waren. Der Grunde warum meine Seite so lange nicht erreichbar war liegt darin, dass mir ein Kumpel den Webspace zur Verfügung bereitgestellt hatte und er in letzter Zeit Probleme mit dem Server hatte. Ich dachte, dass Problem wäre relativ schnell behoben, ist es aber leider bis heute noch nicht. Deshalb hab ich meine HP jetzt einfach auf bplaced geladen und auch alle Links hier im Forum aktualisiert. Der Grund warum ich das nicht schon früher gemacht habe, liegt einfach darin, dass ich in letzter Zeit wegen Studium wenig Zeit hatte.

      Warum ich hier aber eigentlich poste ist, dass es eine neue Version von der Audiere DLL gibt. Es gibt zwei große Änderungen: Zum einen bin ich auf einen anderen C++ Compiler umgestiegen, da es mit dem alten Probleme gab und nicht zuletzt die DLL bei einigen nicht richtig funktionierte und ich hoffe, dass mit der neuen Version das Problem behoben ist. Kann ich aber selber nicht mit Sicherheit sagen, da es bei mir diese Probleme nie gab. Aber ich denke das wird sich herausstellen.

      Weiterhin sind aus der einzelnen DLL wieder zwei geworden. Das hat den einfachen Grund, dass das Verbinden der DLLs in Verbindung mit dem neuen Compiler nicht mehr funktioniert. Das sollte aber kein Beinbruch sein. Denn der eigentliche Grund, warum ich damals die beiden DLLs in eine einzige vereinigen wollte, war dass man die DLLs in beliebige Ordner legen dürfen können sollte. In der neuen Version ist dies weiterhin möglich, man kann sogar die beiden DLLs unabhängig voneinander in beliebige Ordner legen.

      Die zweite große Änderung in der neuen Version ist die Möglichkeit Audiodateien direkt aus verschlüsselten Dateien zu laden, die mit meiner anderen DLL XorCrypt erstellt wurden. Man muss also z.B. Hintergrundmusik nicht mehr umständlich irgendwohin entpacken und dann abspielen sondern kann die Tracks direkt aus der verschlüsselten Datei laden. Die neuen Funktionen sind natürlich in der Hilfedatei erklärt.

      Zum Download gehts wie gewohnt über den Link im ersten Post.

      Wer Bugs findet soll mir diese gerne mitteilen.
      Wie schon oben erwähnt, bin ich vor allem darin interessiert, ob die DLL jetzt auch wirklich bei allen funktioniert.
    • Hi,

      deine dll's gefallen mir echt super :)
      ich habe allerdings ein kleines problem. Ich möchte einen Musikplayer machen, mit der neuen Funktion (mit dem xorcrypt).
      Allerdings habe ich das Problem das mein Spiel in mehreren Räumen spielt. Nur in einem davon ist der musikplayer. d.h. wenn man den Raum verlässt soll die Musik pausieren und wenn man ihn wieder betritt geht sie an dieser Stelle weiter. Nun musste ich das ganze ja mit globalvars machen. Also ich habe die globalvar immer so verändert, das sie dem index des Sounds aus der verschlüsselten Datei entspricht. Nur leider kann ich mit dem globalvar kein Sound abspielen. also z.B. so:

      GML-Quellcode

      1. audiere_stream_play( global.musik )


      geht das generell nicht oder habe ich irgendetwas falsch gemacht? Wenn ich mich nicht deutlich genug ausgedrückt habe schreib mir doch bitte eine pn :)

      Gruß terra
    • Ich weiß jetzt nciht ob das ein Bug oder gewollt ist und es von Seiten des Wrappers oder Seiten Audieres kommt, aber: XM dateien die nicht gelooped sind(laut XMPlay) werden trotz audiere_stream_set_repeat nicht geloopt. Alle anderen Dateien sowie Module die gelooped sind werden problemlos geloopt.

      Als Skript habe ich :

      GML-Quellcode

      1. if audiere_stream_isplaying(global.musik)
      2. {
      3. audiere_stream_unload(global.musik)
      4. }
      5. global.musik = audiere_stream_load("bgm\"+argument0)
      6. audiere_stream_set_volume(global.musik,global.musicvol/100)
      7. audiere_stream_set_repeat(global.musik,true)
      8. audiere_stream_play(global.musik)


      Ich wollte nur wissen ob ich jetzt ein Skript schreiben muss dass sich ums loopen kümmert oder es tatsälich ein Bug ist.
    • Das kann dann eigentlich nur an der Audiere library liegen. Denn mein wrapper macht eigentlich keine Sonderbehandlung zwischen den Formaten. Ob wiederholt werden soll oder nicht wird einfach mit einer von der API zur Verfügung gestellten Funktion gesetzt. Habe da also keinen Einfluss drauf. Musst du dich also wohl oder übel selber ums loopen kümmern.
    • Problem beim Laden von Spielständen

      Hallo, da ich in meinem neuen Spiel an dem ich z.Zt. fieberhaft arbeite Musik im MOD-Format einsetzen möchte bin ich zu dieser DLL gestoßen. Soweit funktioniert alles ganz Gut bis auf eine Sache. Nämlich wenn ich das Spiel neu gestartet habe und meinen zuletzt gespeicherten Spielstand aufrufen möchte. Höre ich keine Musik mehr bis ich ins nächste Level (oder room) gelange. Was habe ich falsch gemacht?

      Hier mein Code im Object Musik:

      Im Create Event:

      GML-Quellcode

      1. audiere_init();
      2. ind = audiere_load("music.mod");
      3. audiere_set_repeat(ind,true);
      4. audiere_play(ind);
    • ich habe eine Variable die die Lautstärke regelt.

      Anfangs liegt der Wert bei 1 und dann wird immer - 0.1 gezählt... am Ende bin ich dann bei 0.0 (also 0) aber die Musik wird immer noch gespielt...nur sehr leise...
    • Problem ist zwar schon gelöst, wollte es aber trotzdem noch aufklären.

      Das Problem liegt wahrscheinlich darin, dass die Lautstärkevariable gerundet wird, da die Zahlen von 0.1 bis 0.9 nicht alle binär endlich darstellbar sind. Daher ist die Variable dann wohl minimal größer als 0. Ich würde das Problem wie folgt lösen: Statt die Lautstärke als Zahl zwischen 0 und 1 zu speichern, lieber zwischen 0 und 10. Denn dann musst du die Variable immer nur um 1 erhöhen oder verringern, wodurch keine Rundungsfehler entstehen. Und wenn du die Lautstärke setzt, einfach noch durch 10 teilen.
    • Okay, nun habe ich echt ein Problem...und das war der grund wieso ich die bgm dll genommen habe... manche musik wiederholt sich nciht obwohl sie auf repeat eingestellt ist...was mach ich nu?
    • Falls es sich wirklich um einen Bug handelt, kann ich leider nicht viel machen, da ich ja nur den wrapper geschrieben habe, der mit hoher Wahrscheinlichkeit nicht der Verursacher ist.

      Allerdings wundert es mich, dass der Fehler, wie du sagst, nur bei mancher Musik auftritt. Falls du unterschiedliche Dateiformate benutzt, könnt ich es mir noch erklären, aber davon gehe ich mal nicht aus. Funktioniert denn audiere_stream_isplaying? Ansonsten liegt es eventuell an der Kodierung. Vielleicht mal ein anderes Format probieren. Welches verwendest du denn zur Zeit? Von diesem Fehler habe ich jedenfall jetzt zum ersten mal gehört.