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

    • Ich hab ein paar kleine Änderungen vorgenommen und die neue Version 1.01 hochgeladen. Die Funktionen um die aktuelle Position und die Länge eine Datei zu bestimmen werden jetzt in Sekunden und nicht mehr in Frames angegeben, was wohl um einiges brauchbarer sein sollte und es gibt eine neue Funktion audiere_get_rate um die Abtastrate einer Audiodatei zu ermitteln. Downloadlink wie bisher im ersten Post.
    • Benutze ebenfalls gerade deine DLL um Musik und Sound in Space Rampage zu integrieren. Musik funktioniert perfekt.
      Immer wenn ich ein neues Musikstück abspielen will (mp3s streamen), schmeiß ich vorher mit audiere_unload() die alte aus dem Speicher. Korrekt?
      Was ist nun, wenn ich einen Sound öfter gleichzeitig oder kurz versetzt abspielen will (also den Sound ein zweites mal abspielen, während der erste noch läuft)?
      Einfach den Sound öfter laden (da müll ich mir doch den Speicher zu)?
      Oder muss ich bei der internen GM Lösung bleiben, die nur wavs akzeptabel unterstützt?
      PS.: Seltsamerweiße stürzt mein Spiel jetzt beim Speichern(game_save), Laden(game_load) und Neustarten(game_restart) ab (wenn ich jedoch aus dem Debug-Fenster restarte, funktionierts)...muss mir das morgen nochmal in Ruhe anschauen...
      Einige meiner Spiele:
    • Version 1.02

      Immer wenn ich ein neues Musikstück abspielen will (mp3s streamen), schmeiß ich vorher mit audiere_unload() die alte aus dem Speicher. Korrekt?

      Ja, das ist genau richtig so.

      Was ist nun, wenn ich einen Sound öfter gleichzeitig oder kurz versetzt abspielen will (also den Sound ein zweites mal abspielen, während der erste noch läuft)?
      Einfach den Sound öfter laden (da müll ich mir doch den Speicher zu)?

      So eine Möglichkeit gab es bis jetzt noch nicht, das wäre nur durch mehrfaches Laden möglich gewesen wie du schon gesagt hast, was nicht sehr effizient wäre. Aber ich hab mich mal schlau gemacht und herausgefunden, dass die audiere library sowas wie Soundeffekte unterstützt, wodurch auch das mehrfache Abspielen gleichzeitig möglich ist. Ich hab die entsprechenden Funktionen dafür auch schon integriert und als Version 1.02 hochgeladen (Download im ersten Post). Es gibt eine ganze Reihe neuer Funktionen nur für Soundeffekte, die in der Hilfedatei aufgeführt sind. Dafür existieren für Soundeffekte weniger Funktionen, z.B. ist das Abfragen und setzen der Wiedergabeposition nicht möglich und auch streaming wird nicht unterstützt. Aber das sollte kein Nachteil sein, denn wer braucht sowas schon für Soundeffekte.
    • An sich klingt das alles toll es ist nur leider das erste mal, das ich sowas verwende also Dll`s

      naja jetzt hab ich das entpackt ins spielverzeichnis und habe in meinem spiel script>import>adiere.gml importiert.
      Dann stehen da halt die ganzen Scripte wenn ich jetzt aber audiere_init; ausführe kommt folgene Fehlermeldung:

      ERROR in
      action number 3
      of Other Event: Room Start
      for object obj_level_controller:

      Error defining an external function.


      irgendwie weiß ich nich, was ich noch machen muss die DLL Dateien sind im verzeichnis des spiels, die gml auch....

      hoffe ich bin einfach nur zu doof (was ich auch glaube) weil ne wav datei zu nehmen kommt nich in frage die is 8* so groß ;)
      Philosophie bedeutet, in einem stockdunklem raum nach einer pechschwarzen katze zu suchen, die gar nicht existiert ;) :D
      ------------------------------------
      Mein Projekt: >>>>>>>>>>>>>>>>>>>> DER EINSAME SCHLORK <<<<<<<<<<<<<<<<<<
    • Der Fehler deutet darauf hin, dass die DLL nicht da ist. Hast du wirklich beide in das Verzeichnis kopiert, wo sich auch deine Spieldatei befindet?
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • hmmm sie ist definitiv da ich hab jetzt auch mal probiert das mit absolutem Dateipfad zu machen da kommt die gleiche meldung (ich hab das "gma.dll" durch den absoluten pfad ersetzt in der audiere_init;)

      ich weiß grad nich worans liegen könnte...
      Philosophie bedeutet, in einem stockdunklem raum nach einer pechschwarzen katze zu suchen, die gar nicht existiert ;) :D
      ------------------------------------
      Mein Projekt: >>>>>>>>>>>>>>>>>>>> DER EINSAME SCHLORK <<<<<<<<<<<<<<<<<<
    • Es ist schwer, dir da zu helfen. Wichtig ist auf jeden Fall, dass BEIDE DLLs (Audiere selbst und der Wrapper) im Spielverzeichnis sind. Dann sollte es eigentlich funktionieren.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • so siehts im ordner aus

      martinleurs.de/ordner.jpg


      und ich hab halt das gml script importiert und dann einfach
      in execute Code "audiere_init();" getippt und wie gesagt da kommt der Fehler

      muss ich dem vllt noch irgendwie die dlls bekannt machen (was ja eigentlich nich kann weil der läd das ja aus der datei)
      ich probier selbst noch mal rum ich bin nur ein wenig verzweifelt....
      Philosophie bedeutet, in einem stockdunklem raum nach einer pechschwarzen katze zu suchen, die gar nicht existiert ;) :D
      ------------------------------------
      Mein Projekt: >>>>>>>>>>>>>>>>>>>> DER EINSAME SCHLORK <<<<<<<<<<<<<<<<<<
    • Das ist in der Tat der seltsam. Ich habe es selber grade nochmal probiert (man kann ja nie wissen), aber es funktioniert alles wie es soll. Wie ich sehe hast du Vista also den GM7. Ich hoffe auch die Pro Version, ansonsten kannst du keine DLLs benutzen. Ich weiß nicht ob dann auch diese Fehlermeldung kommt. Poste mal bitte den Inhalt des audiere_init() Scripts.
    • jo habe die Pro version ;)

      so hier der code

      GML-Quellcode

      1. global.dll_audiere_load = external_define("gma.dll","audiere_load",dll_stdcall,ty_real,2,ty_string,ty_real);
      2. global.dll_audiere_unload = external_define("gma.dll","audiere_unload",dll_stdcall,ty_real,1,ty_real);
      3. global.dll_audiere_play = external_define("gma.dll","audiere_play",dll_stdcall,ty_real,1,ty_real);
      4. global.dll_audiere_isplaying = external_define("gma.dll","audiere_isplaying",dll_stdcall,ty_real,1,ty_real);
      5. global.dll_audiere_pause = external_define("gma.dll","audiere_pause",dll_stdcall,ty_real,1,ty_real);
      6. global.dll_audiere_stop = external_define("gma.dll","audiere_stop",dll_stdcall,ty_real,1,ty_real);
      7. global.dll_audiere_get_position = external_define("gma.dll","audiere_get_position",dll_stdcall,ty_real,1,ty_real);
      8. global.dll_audiere_set_position = external_define("gma.dll","audiere_set_position",dll_stdcall,ty_real,2,ty_real,ty_real);
      9. global.dll_audiere_get_length = external_define("gma.dll","audiere_get_length",dll_stdcall,ty_real,1,ty_real);
      10. global.dll_audiere_get_rate = external_define("gma.dll","audiere_get_rate",dll_stdcall,ty_real,1,ty_real);
      11. global.dll_audiere_get_repeat = external_define("gma.dll","audiere_get_repeat",dll_stdcall,ty_real,1,ty_real);
      12. global.dll_audiere_set_repeat = external_define("gma.dll","audiere_set_repeat",dll_stdcall,ty_real,2,ty_real,ty_real);
      13. global.dll_audiere_get_volume = external_define("gma.dll","audiere_get_volume",dll_stdcall,ty_real,1,ty_real);
      14. global.dll_audiere_set_volume = external_define("gma.dll","audiere_set_volume",dll_stdcall,ty_real,2,ty_real,ty_real);
      15. global.dll_audiere_get_pan = external_define("gma.dll","audiere_get_pan",dll_stdcall,ty_real,1,ty_real);
      16. global.dll_audiere_set_pan = external_define("gma.dll","audiere_set_pan",dll_stdcall,ty_real,2,ty_real,ty_real);
      17. global.dll_audiere_get_pitch = external_define("gma.dll","audiere_get_pitch",dll_stdcall,ty_real,1,ty_real);
      18. global.dll_audiere_set_pitch = external_define("gma.dll","audiere_set_pitch",dll_stdcall,ty_real,2,ty_real,ty_real);
      19. global.dll_audiere_isseekable = external_define("gma.dll","audiere_isseekable",dll_stdcall,ty_real,1,ty_real);
      20. global.dll_audiere_effect_load = external_define("gma.dll","audiere_effect_load",dll_stdcall,ty_real,1,ty_string);
      21. global.dll_audiere_effect_unload = external_define("gma.dll","audiere_effect_unload",dll_stdcall,ty_real,1,ty_real);
      22. global.dll_audiere_effect_play = external_define("gma.dll","audiere_effect_play",dll_stdcall,ty_real,1,ty_real);
      23. global.dll_audiere_effect_stop = external_define("gma.dll","audiere_effect_stop",dll_stdcall,ty_real,1,ty_real);
      24. global.dll_audiere_effect_get_volume = external_define("gma.dll","audiere_effect_get_volume",dll_stdcall,ty_real,1,ty_real);
      25. global.dll_audiere_effect_set_volume = external_define("gma.dll","audiere_effect_set_volume",dll_stdcall,ty_real,2,ty_real,ty_real);
      26. global.dll_audiere_effect_get_pan = external_define("gma.dll","audiere_effect_get_pan",dll_stdcall,ty_real,1,ty_real);
      27. global.dll_audiere_effect_set_pan = external_define("gma.dll","audiere_effect_set_pan",dll_stdcall,ty_real,2,ty_real,ty_real);
      28. global.dll_audiere_effect_get_pitch = external_define("gma.dll","audiere_effect_get_pitch",dll_stdcall,ty_real,1,ty_real);
      29. global.dll_audiere_effect_set_pitch = external_define("gma.dll","audiere_effect_set_pitch",dll_stdcall,ty_real,2,ty_real,ty_real);
      Alles anzeigen


      und ja ich hab vista + gm7 gestern ers geladen und registriert um mal wieder weiter zu machen ;)
      Philosophie bedeutet, in einem stockdunklem raum nach einer pechschwarzen katze zu suchen, die gar nicht existiert ;) :D
      ------------------------------------
      Mein Projekt: >>>>>>>>>>>>>>>>>>>> DER EINSAME SCHLORK <<<<<<<<<<<<<<<<<<