Mehrere Sounds abspielen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Luciano

Betreff: Mehrere Sounds abspielen

BeitragSo, Jul 03, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen!

Ich habe folgendes gemacht:

X = LoadSound("X")
Y = LoadSound("X")

If KeyHit(31) Then XX = PlaySound(X)
If KeyHit(33) Then YY = PLaySound(Y)

If Z + 100 < Millisecs() Then
StopChannel XX
StopChannel YY
Z = Millisecs()
End If

Nun funktionier aber manchmal nur ein Sound oder nur ganz kurz etc, wie kann das sein?

Danke!

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Jul 03, 2005 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Du mußt Z auch beim Start schon mit millisecs initallisieren
BlitzBasic: [AUSKLAPPEN]
X = LoadSound(\"X\") 
Y = LoadSound(\"X\")

If KeyHit(31) Then XX = PlaySound(X) :Z = MilliSecs() ; Sonst wird sofort wieder gestopt
If KeyHit(33) Then YY = PlaySound(Y) :Z = MilliSecs()

If Z + 100 < MilliSecs() Then ;100 sind 1/10 Sekunde
StopChannel XX
StopChannel YY

End If
[BB2D | BB3D | BB+]

Ebola33

BeitragDo, Jul 14, 2005 2:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
das Problem könnte auch bei Keyhit() liegen. Immer nur einmal pro Schleifendurchlauf abfragen.Oder besser gleich Keydown benutzen.


Prost Ebola Mr. Green
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

E. Urbach

ehemals "Basicprogger"

BeitragDo, Jul 14, 2005 7:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Was? Ich dachte immer bei KeyDown würde der Sound nur so rattern, weil
er jedesmal abgespielt wird!
Außerdem würde Z immer auf die neue Zeit gestellt werden, was das ganze noch verschlimmert.
Wenn ich den Code richtig verstanden hab und er in einer Schleife abläuft dann ist die KeyDown() - Benutzung nicht zu empfehlen.
Also KeyHit() war schon richtig!
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Ebola33

BeitragDo, Jul 14, 2005 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, man muss natürlich eine Variable erstellen die es verhindert dass der Sound ständig abgespielt wird.Also nur 1x und erst nach loslassen der Taste wirds wieder freigegeben. Ich habe die Erfahrung gemacht dass Blitz mit zu vielen Keyhits irgendwie nicht ganz zurechtkommt. Ich benutze nur Keydown.So kann man z.B. auch feststellen seit wie vielen Schleifendurchläufen die Taste gedrückt wird....
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Alfadur

BeitragDo, Jul 14, 2005 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
if keydown() then if not channelplaying(xx) then xx=playsound(x)
if keydown() then if not channelplaying(yy) then yy=playsound(y)

dann kannste dir auch das ganze millisecs kram sparen, weil der sound nur gespielt wird wenn er gerade nicht gespielt wird...
A Cray is the only computer that runs an endless loop in less than four hours.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group