Sound wiedergabe ohne ladepause

  • GM 7

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

  • Sound wiedergabe ohne ladepause

    Hi, hab ein Spiel, wo man eine Taste (Q) drücken muss, danach wird ein Gitarren Akkord gespielt.(Sound) dieser wird immer wieder wiederholt.
    Das blöde ist aber, das sich der Akkord(Sound) nicht flüssig anhört, da zwischen dem wiederholen des Sounds immer eine Pause vorkommt.(Da das Spiel den Sound ja neustarten muss) . Ich will diese Pause aber nicht, sondern dass sich der Sound flüssig wiedehrolt, ich habs shcon mit mehreren Sounds des gleichen akkords hintereinander probiert, so dass die pause weg bleibt, allerdings geht das irgendwie nicht oO, weiss einer wie ich die lade-pause des sounds wegmachen kann oO?

    mfg moi

    SUCHE MITARBEITER!
  • thx ich habs mal in ein anderes dateiformat umgewandelt und tatsächlich gehts jetzt ziemlich gut.
    hmm könnt ihr mir noch einmal helfen oO
    jetzt hab ich das Problem ja, wenn ich stoppe (Q loslasse), dass der sound mittendrin abbricht, da ich unter
    ;key_release Q : stop sound ; habe
    kann ich nicht es irgendwie so machen das egal wann man q loslässt das der sound immer erst abgebrochen wird, wenn
    der sound noch einmal beendet wurde, so das sich das net abgehackt anhört oO?

    thx nomma

    SUCHE MITARBEITER!
  • Das hab jetzt nicht ganz verstanden.
    Willst du den Sound jetzt langsam ausblenden lassen oder pausieren und wieder an der letzten Stelle aufnehmen lassen?

    Für das erste würde ich ein Script machen, das pro Step die Sound Volume relativ verringert.

    GML-Quellcode

    1. //Unter Vorraussetzung, dass am Anfang vol=1 ist:
    2. if (vol>0) {vol-=0.1;
    3. sound_global_volume(vol);}


    Und wenn du die Musik mal wirklich "pausieren" willst, ist die Saudio DLL nicht schlecht. ^^
  • Ist doch ganz einfach. oO
    Ich würde nicht intern loopen, sondern einfach ne Variable wie etwa "playguit" anlegen. Wenn man die Taste 'q' drückt wird "playguit" auf '1' gesetzt, wenn man 'q' loslässt auf '0'. Nun wird in jedem Step mit sound_isplaying() geprüft ob der Gitarrensound noch läuft und falls es nicht der Fall ist, wird geprüft ob "playguit" den Wert '0' oder '1' hat - bei '1' wird der Sound nochmal abgespielt. Ich weiß nicht wie nahtlos das Loopen klappen wird (genaugenommen müsste man den Sound erstmal perfekt auf die 60 Steps pro Sekunde ausrichten, finde ich), aber auf jeden Fall ist damit das Problem prinzipiell gelöst. Der Sound wird nach dem Loslassen von 'q' zu Ende gespielt aber danach nicht mehr wiederholt bis man nochmal 'q' drückt.

    €dit:
    Natürlich muss das Drücken von 'q' wenn "playguit" den Wert '0' hat erstmal den Sound abspielen. Sonst wird das alles nicht klappen, aber ich denke das müsste so oder so klar sein. ;)