problem mit schusssound

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

aave13

Betreff: problem mit schusssound

BeitragSo, Sep 03, 2006 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
moin,
habe folgendes problem: ich habe einen schusssound (ca. 1 sec) den ich auf mausklick abspielen lassen will. das problem ist, wenn ich mousedown nehme, wird der sound in abständen von ca 1 tausendstel sekunde (ka^^) direkt hintereinander abgespielt. jetzt möchte ich aber, dass der wenn die maus gedrückt wurde, einmal abspielt und sich das erst wieder abspielen lässt, wenn der vorherige sound zuende ist. hab schon mit channelplaying versucht, haut aber irgendwie nicht hin.

mfg aave

BladeRunner

Moderator

BeitragSo, Sep 03, 2006 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Würdest du uns deinen Versuchscode zukommen lassen ?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

aave13

BeitragSo, Sep 03, 2006 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
   If MouseDown(1)=True Then PlaySound(shoot1)

das ist erstmal der code, dass auf mausklick der sound geplayed wird. jetzt mit dem warten bis zum ende:

Code: [AUSKLAPPEN]
If MouseDown(1)=True and channelplaying(shoot1)=0 Then PlaySound(shoot1)


mfg

BladeRunner

Moderator

BeitragSo, Sep 03, 2006 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Playsound gibt dir einen Kanal zurück- dieser muss mit Channelplaying überprüft werden.
Wenn Du das Soundsample als Kanal angibst kann es nicht funzen Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hummelpups

BeitragMo, Sep 04, 2006 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
further information: www.blitzbase.de

Da ist der ChannelPlaying befehl gut dokumentiert, solltest das
Problem dann lösen können.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

aave13

BeitragMo, Sep 04, 2006 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
sorry hilft mir leider nicht weiter, hab ich mir auch schon alles durchgelesen, ich versteh aber nicht, warum man nicht einfach if soundplaying hätte machen können... was das mit dem channel soll... vielleicht kann mir jemand n beispiel geben...

Hummelpups

BeitragMo, Sep 04, 2006 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich finde das da ein recht gutes Beispiel bei ist das man verstehen und
auch umsetzen sollte.
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

aave13

BeitragMo, Sep 04, 2006 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab mir das noch ein paar mal reingezogen:

Code: [AUSKLAPPEN]

If MouseHit(1)=True And magazin=1 And ChannelPlaying(shot1_ch)=0 Then ammo=ammo-1
   If MouseDown(1)=True And ChannelPlaying(shot1_ch)=0 Then shot1_ch=PlaySound(shot1)
[quote]

so gehts eigentlich, muss nur noch ein bisschen am schuss selber feilen...

mfg aave[/quote]

BladeRunner

Moderator

BeitragMo, Sep 04, 2006 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also:
Wenn Du einen Sound lädst, gibt dir BB eine Nummer zurück anhand der es den Sound erkennt:

Code: [AUSKLAPPEN]
sound = loadsound("toll.wav")


Wenn Du diesen Sound nun abspielst, passiert das auf einem der Kanäle deiner Soundkarte. (Die Soundkarte kann nicht unendlich viele Sounds gleichzeitig abspielen, sondern nur soviele wie sie eben Kanäle hat.

Code: [AUSKLAPPEN]
channel = playsound(sound)

Dieser Kanal wird an BB zurückgegeben.
Das ist auch wichtig, dass man hier nach dem Kanal und nicht nach dem Sound unterscheidet, denn du könntest ja den selben Sound mehrfach z.b. mit unterschiedlicher Lautstärke abspielen wollen.
Würde nun alles über den Sound geregelt, könnte der Sound immer nur einmal, und mit einer Lautstärke gespielt werden.
Da du aber den Kanal bearbeitest der den Sound abspielt, kann ein kanal den Sound ganz leise und ein anderer ihn ganz laut abspielen.

Das erklärt auch warum Channelplaying auf den Kanal ziehlt:
Wenn es über den Sound ginge könntest Du jeden Sound immer nur einmal zur Zeit benutzen. So aber ist es Möglich den ein und selben Sound mehrfach zu nutzen, da ihn jeder Kanal unabhängig voneinander spielt.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

aave13

BeitragMo, Sep 04, 2006 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
jo dankeschön!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group