Sound hintereinander

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

MrJoney

Betreff: Sound hintereinander

BeitragFr, Jan 04, 2008 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute wie geht das wenn mann 3 sound die als einen sound abzuspielen

ich lade die 2 sound mit

laufen=LoadSound("step.wav")
laufen1=LoadSound("step1.wav")
laufen2=LoadSound("step2.wav")
spiele sie ab mit

Channel=PlaySound(laufen)
Channel1=PlaySound(laufen1)
Channel2=PlaySound(laufen2)
aber wie mache ich das das die 3 sound hintereinader als ein sound abgespiet werden und dann neustarten

mfg MrJoney
 

HyDr0x

BeitragFr, Jan 04, 2008 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest diese sounds mit dem Audiorecorder zusammenschneiden und als 1 Sound laden. Oder du nimmst:

Code: [AUSKLAPPEN]

 if channelplaying(channel) = 0 then channel=playsound(sound)
  • Zuletzt bearbeitet von HyDr0x am Fr, Jan 04, 2008 17:25, insgesamt einmal bearbeitet

blitzuser34

BeitragFr, Jan 04, 2008 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
1)In einem Programm zusammenfügen und
2)mit Loopsound

Ddit: HyDr0x war schneller!

MrJoney

BeitragFr, Jan 04, 2008 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
das verstehe ich nicht wirklich ;( kann mir keiner das bischen genauer schrieben ?

danke für die schnell antwort

The_Nici

BeitragFr, Jan 04, 2008 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Überprüfe mit "Channelplaying()" (http://www.blitzbase.de/befehle2d/channelplaying.htm) ob der erste Sound abgespielt wird. Wenn nein, spiele den zweiten ab. Wenn der zweite auch zuende ist, dann spiele den dritten, wenn der dritte zuende ist spiele wieder den ersten.
Vorschlag:
Code: [AUSKLAPPEN]

;laden undso
cp=True
cp2=False
cp3=False
While not keydown(1)
   If cp2=False and cp3=False then
      Playsound channel1
      cp=True
   ElseIf cp=False and cp3=False then
      Playsound channel2
      cp2=True
   ElseIf cp=False and cp2=False
      Playsound channel3
      cp3=True
   EndIf
   cp=Channelplaying(channel1)
   cp2=Channelplaying(channel2)
   cp3=Channelplaying(channel3)
Wend
;Ende

blitzuser34

BeitragFr, Jan 04, 2008 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder so(weiß nicht was besser ist):

Code: [AUSKLAPPEN]
sound=LOADSOUND("test.wav")
LOOPSOUND sound
PLAYSOUND sound
Waitkey()


Und damit kannst du sie in einen Sound packen:
http://www.chip.de/downloads/c...10690.html
  • Zuletzt bearbeitet von blitzuser34 am Fr, Jan 04, 2008 17:31, insgesamt einmal bearbeitet
 

HyDr0x

BeitragFr, Jan 04, 2008 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Entweder:

Start->Programme->zubehör->Unterhaltungsmedien->Audiorecorde
Dann öffnest du die Sounds und schneides sie zusammen (Hoffe das geht mit dem ding da es glaube ich nur bis zu ner bestimmten anzahl von Sekunden funtzt)

Oder:

Code: [AUSKLAPPEN]



laufen=LoadSound("step.wav")
laufen1=LoadSound("step1.wav")
laufen2=LoadSound("step2.wav")

repeat

;code

if channelplaying(channel) = 0 then
select sound
case 1
channel=playsound(laufen)
sound = 2
case 2
channel=playsound(laufen1)
sound = 3
case 3
channel=playsound(laufen2)
sound = 1
end select
endif

;code

until keyhit(1)


So könnte es noch gehen.

The_Nici

BeitragFr, Jan 04, 2008 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem von ihm ist dann, dass er wenn er nur ein Schritt macht drei schritte abgespielt werden. daher ist blitzusers/Hydrox's Lösung nicht ideal.
 

HyDr0x

BeitragFr, Jan 04, 2008 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Sollte ja auch nur ein Denkanstoss sein Wink
Einbauen muss ers schon selbst.

The_Nici

BeitragFr, Jan 04, 2008 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man alle 3 Sounds zusammenfügt, ist das ein schlechter Denkansatz. Aber nur meine Meinung. Einbauen muss ers natürlich immer selber.
 

HyDr0x

Betreff: Re: Sound hintereinander

BeitragFr, Jan 04, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
MrJoney hat Folgendes geschrieben:

Hi leute wie geht das wenn mann 3 sound die als einen sound abzuspielen
aber wie mache ich das das die 3 sound hintereinader als ein sound abgespiet werden und dann neustarten

mfg MrJoney


Da steht drin das er aus 3 Sounds einen machen will von daher ...

blitzuser34

BeitragFr, Jan 04, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wahrscheinlich keine so schöne Variante Wink :

Code: [AUSKLAPPEN]
schritt123=LoadSound("test.wav")

While Not KeyHit(1)

splay=ChannelPlaying(play)

If splay=0 And taste=1 Then play=PlaySound(schritt123)
If splay=1 And taste=0 Then StopChannel(Play)
taste=KeyDown(200)

Wend
End
 

HyDr0x

BeitragFr, Jan 04, 2008 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll daran unschön sein?? Ich finde es eher merkwürdig mit 3 Sounds zu hantieren.

Code: [AUSKLAPPEN]


schritt123=LoadSound("test.wav")

while not keyhit(1)

if keyhit(200) then
if channelplaying(channel)=0 then channel = playsound(schritt123)
else
stopchannel(channel)
endif
endif

wend
 

0penguin0

BeitragFr, Jan 04, 2008 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schätze mal, du hast 3 ähnliche sounds, damits nicht eintönig wird.

also 3 sounds die das gleich bedeuten und die zur selben aktion abgespielt werden sollen, nur halt durcheinander.

Code: [AUSKLAPPEN]


Dim steps(3) ; ein array für 3 sounds

steps(0) = loadsound("step1.wav") ; die 3 sounds laden
steps(1) = loadsound("step2.wav")
steps(2) = loadsound("step3.wav")

global ch ; der channel
; main-loop
repeat
    ; wenn ich gerade laufe und kein sound abgespielt wird
    if laufen=true and not channelplaying(ch)
        ; starte ich einen zufälligen schritt-sound
        ch = playsound(steps(rand(0,3))
    endif

until keydown(1)


eigentlich poste ich ja nicht gerne fertigen code, aber egal Wink
i never finish anyth

MrJoney

BeitragFr, Jan 04, 2008 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
1 mall danke für die vielen helfer und ich glaube mit euch kriege ich das schon hin

so ich kriege es nicht hin egal was ich mache entweder ich höre nichts oder es kommt sound dosend exis

das ganze lauft in einer if schliefe

wenn ich w drücke sollen nacheinander die sound abgespilt werden bei einem sound geht es bei 2-3 aber nicht laden komm im lade bereich des cods es sollen schritte erzeugt werden wenn ich w drücke soll step1.wav abgespilt werden wenn das fertig soll direckt step2.wav abgespilt werden danach step3.wav u.s.w bis alle abgespilt worden sind dann soll wieder mit step1.wav begonnen werden aber es geht nicht so wie ich es will

mfg MrJoney

BladeRunner

Moderator

BeitragFr, Jan 04, 2008 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann tu wasalle sagen und füg die sounds extern mit audacity oder so zusammen und ruh ist.
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

MrJoney

BeitragFr, Jan 04, 2008 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
das möchte cih abern nicht weil ich mehere aound habe so an die 10 und mich noch nicht entschieden ahben welche es am ende sienn sollen
 

0penguin0

BeitragFr, Jan 04, 2008 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
dann bau meine konstruktion ein bisschen um (und überprüf deinen post mal auf auf tippfehler, bevor du auf absenden klickst Wink )

Code: [AUSKLAPPEN]

const AnzahlDerSounds = 100 ; <- die zahl gibt an, wieviele steps du hast

Dim steps(AnzahlDerSounds) ; ein array für die sounds

; alle sounds nacheinander laden
for i=0 to AnzahlDerSounds
    steps(i) = loadsounds("step"+i+".wav")
next

global ch ; der channel
global stepCounter=0 ; zählt die schritte
; main-loop
repeat

    ; wenn ich gerade laufe und kein sound abgespielt wird
    if laufen=true and not channelplaying(ch)
        ; starte den nächsten schrittsound
        ch = playsound(steps(stepCounter))
        ; und zähl eins weiter
        stepCounter = stepCounter+1
    endif

    ; wenn wir am ende angekommen sind
    if stepCounter = AnzahlDerSounds
        ; fangen wir von vorn an
        stepCounter = 0
    endif

until keydown(1)


viel spass damit Wink
i never finish anyth

The_Nici

BeitragFr, Jan 04, 2008 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Entschuldigung, habe wohl den Anfangspost nicht genau gelesen. O_o

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group