Sound abspielen
Übersicht

![]() |
pileBetreff: Sound abspielen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, hab wieder n Problem
Wenn ich ne Taste drücke möchte ich das n Sound gespielt wird. Da sich das ganze aber natürlich in ner Schleife befindet, fängt der Sound nach ein paar Millisekundne wieder von vorn an. Weiß einer Rat? Danke. |
||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
ETsoftware |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] sound=LoadSound("Sound.wav")
Repeat If Keyhit(1) Then PlaySound sound Until Keyhit(2) Du musst, wenn der Befehl nur einmal nach einander abgefragt wird KeyHit statt KeyDown verwenden. Sonst mit einer Variable abfragen, ob er gerade abgespielt wird. |
||
ETsoftware 2007 |
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es war ja mit KeyHit aber trotzdem wurde es mehrfach gespielt. Liegt wohl an meiner schlampigen Programmstruktur.
Habs jetzt so gemacht, dass ich den Sound als Kanal abspielen lasse und nach ein paar Millisekunden mit StopChannel anhalten lasse. |
||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ich wuerde es so machen.
Code: [AUSKLAPPEN] sound=LoadSound("Sound.wav")
Repeat If Keyhit(1) And CHANNELPLAYING(sound) = 0 Then PlaySound sound Until Keyhit(2) Channelplaying ueberbrueft ob der Sound gerade abgespielt wuerd. So wuerd der Sound nur gestartet wenn er noch nicht laeuft. Mfg Shogo Edit: Bei Keyhit wuerde ich so vorgehen damit es geht. Code: [AUSKLAPPEN] sound=LoadSound("Sound.wav")
global ESC_TASTE Repeat ESC_TASTE = KeyHit(1) If ESC_TASTE = true And CHANNELPLAYING(sound) = 0 Then PlaySound sound Until Keyhit(2) KeyHit nur einmal pro Schleife abfragen sonst kommt es zu fehlern. |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist so nicht richtig.
ChannelPlaying überprüft, ob ein Channel gerade etwas abspielt. Das müsste dann so heißen: Code: [AUSKLAPPEN] sound=LoadSound("Sound.wav")
Repeat If Keyhit(57) And CHANNELPLAYING(channel) = 0 Then channel=PlaySound(sound) Until Keyhit(1) Hier mit Leertaste. Wieso auch 1 zum Beenden? Normal ist Escape. IMHO sieht While wend aber schöner aus. Wenn Shogo Posts editieren darf, darf ich das auch. *EDIT* Warum sollte man für eine einzige Abfrage eine Variable nutzen? Den Sinn dabei verstehe ich nicht so ganz. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hat leider trotzdem nicht geklapt. Der Sound kam total verzert rüber. Ich weiß nicht woran das liegt. Naja zum Glück klapt das mit stopchannel da die sounds nicht sonderlich lang sind. | ||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group