Sound-Endlos-Schleife mit Fade In/Out

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Xar

Betreff: Sound-Endlos-Schleife mit Fade In/Out

BeitragDo, Nov 05, 2009 11:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin ein RPG am aufbauen, indem es vorkommen kann, dass es regnet, was gewisse Effekte auf manche Spieldetails hat. Es funktioniert soweit auch alles, die GrafikAnimation sieht super aus usw. Ich habe auch eine Wave Datei von ca. 5 Sek länge die einen schönen Regen-Sound abspielt.

Nun möchte ich an der Stelle im Programm, an der entschieden wird, dass es beginnt zu regnen, diesen Sound abspielen. Das ist mit LoadSound, CueSound und ResumeChannel soweit noch problemlos machbar.

Was ich nicht hinkriege ist, dass der Sound nahtlos als Schleife abgespielt wird, aber nur solange, bis der Regen aufhört und ich an dieser Stelle den Channel stoppen kann (vermutlich mit StopChannel).

Die meisten Threads die ich dazu finde beziehen sich auf Loop-Befehle, die in BlitzMax nicht existieren.

Wie muss also die Befehlskette beim Regen-Start aussehen, damit der Sound sich ohne Unterbruch wiederholt? Und wie kann ich ihn stoppen (falls nicht mit StopChannel)?

Noch schöner wäre es natürlich, wenn ich beim Start einen ca. 3-4 Sekündigen FadeIn und beim Stoppen einen entsprechenden FadeOut erreichen könnte, da dies bei der grafischen Darstellung des Regens auch der Fall ist (Regen beginnt erst ganz transparent wird wird im Verlauf einiger Sekunden stärker, dasselbe umgekehrt bei Regen-Ende)

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragDo, Nov 05, 2009 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du lädst den Sound mit dem Flag "SOUND_LOOP". Also:

BlitzMax: [AUSKLAPPEN]
Local sound:TSound = LoadSound("regen.wav", SOUND_LOOP)
Local channel:TChannel = PlaySound(sound)

Und wenn du das ganze dann stoppen willst logischerweise mit:

BlitzMax: [AUSKLAPPEN]
StopChannel(sound)


Mithilfe von SetChannelVolume() kannst du ja die Lautstärke regeln. So bekommt man auch einen FadeIn/Out Effekt hin. Solltest ja eigentlich wissen, wann dein Programm den Regen startet und beginnst ab da die Lautstärke zu regeln. Und kurz bevor das Programm sagt "Regen Ende" drehste alles wieder runter.
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

Xar

BeitragDo, Nov 05, 2009 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank, klappt prima. Das mit dem FadeIn/Out habe ich mit der Lautstärke lösen können, die ich parallel mit der stärker/schwächer werdenden Regen-Grafik einfach entsprechend lauter/leiser mache.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group