Sound klirrt beim setzen des Volumens
Übersicht

![]() |
RatchetBetreff: Sound klirrt beim setzen des Volumens |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe einen Channel auf dem ich einen Sound abspiele. Wenn ich meine Anwendung beende wird ein Fade Out auf den Channel gemacht sodass die spielende Musik immer leiser wird. Klappt auch aber es klirrt dabei so komisch. Auch auf verschiedenen Systemen mit unterschiedlichen Soundkarten.
Ich benutze ganz einfach SetChannelVolume. Ist das eventuell eine Macke von BMax? |
||
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Ahnung. Dürfte eigentlich nichts passieren.
EDIT: Habs mal ausprobiert. Die Channelbefehle sind nicht für Realtime konzepiert soweit ich weiß. |
||
aquamonit.de|BlitzMax|MaxGUI |
- Zuletzt bearbeitet von MVB am So, Jan 16, 2005 16:01, insgesamt einmal bearbeitet
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mache nur Code: [AUSKLAPPEN] Volume :- 0.08
SetChannelVolume(MusicChannel, Volume) solange bis Volume <= 0 ist. Volume ist vom Typen Float ![]() |
||
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habs ausprobiert. Die Befehle sind nicht für Realtime ausgelegt. Siehe EDIT.
Ging das denn bei den alten Blitzversionen in Realtime? |
||
aquamonit.de|BlitzMax|MaxGUI |
- Zuletzt bearbeitet von MVB am So, Jan 16, 2005 16:08, insgesamt 2-mal bearbeitet
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich meine das ging. Das muss doch gehen, wie soll man denn sonst sowas realisieren?
Mal Hilfe durchstöbern.... |
||
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Depth und Pan lassen sich anscheinend in Realtime ändern, bei Rate und Volume kommt dieses "Klirren".
Hier mal mein Testcode: Code: [AUSKLAPPEN] 'Soundtest
Graphics 800,600,32 'Laden Sound=LoadSound("sound2.wav") If sound=0 Then RuntimeError("Sound konnte nicht geladen werden") 'Abspielen Channel=CueSound(Sound) ResumeChannel Channel 'Einstellungen Volume:Float=0.5 Pan:Float=0 Depth:Float=0 Rate:Float=1 Pause:Int=0 Repeat Cls 'Abfrage 'Pan If KeyDown(KEY_LEFT) Then Pan:-0.01 If KeyDown(KEY_RIGHT) Then Pan:+0.01 If Pan>1 Then Pan=1 If Pan<-1 Then Pan=-1 SetChannelPan(Channel,Pan) 'Depth If KeyDown(KEY_UP) Then Depth:+0.01 If KeyDown(KEY_DOWN) Then Depth:-0.01 If Depth>1 Then Depth=1 If Depth<-1 Then Depth=-1 SetChannelDepth(Channel,Depth) 'Volume If KeyDown(KEY_NUMADD) Then Volume:+0.01 If KeyDown(KEY_NUMSUBTRACT) Then Volume:-0.01 If Volume>1 Then Volume=1 If Volume<0 Then Volume=0 SetChannelVolume(Channel,Volume) 'Pause If KeyHit(KEY_P) Then If Pause=0 Then PauseChannel Channel Pause=1 Else ResumeChannel Channel Pause=0 EndIf EndIf 'Rate If KeyDown(KEY_PAGEUP) Then Rate:+0.01 If KeyDown(KEY_PAGEDOWN) Then Rate:-0.01 SetChannelRate(Channel,Rate) 'Optische Darstellung SetColor 255,255,255 DrawText "[P] Pause/Resume",10,10 DrawText "[+]/[-] Volume: " + Volume,10,25 DrawText "[right]/[left] Pan: " + Pan,10,40 DrawText "[up]/[down] Depth: " + Depth,10,55 DrawText "[Page Up]/[Page Down] Rate: " + Rate,10,70 DrawRect 200,100,400,400 SetColor 255,0,0 DrawOval 400+Pan*200-3,300-Depth*200-3,6,6 Flip Until KeyHit(KEY_ESCAPE) |
||
aquamonit.de|BlitzMax|MaxGUI |
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Hilfe zu SetChannelSound steht folgender Testcode:
Code: [AUSKLAPPEN] ' setchannelvolume.bmx timer=CreateTimer(20) sound = LoadSound ("shoot.wav") For volume#=.1 To 2 Step .05 WaitTimer timer channel=CueSound(sound) SetChannelVolume channel,volume ResumeChannel channel Next Da ist noch ein CueSound vor dem SetChannelVolume. Das ist aber totaler Quatsch da CueSound nur einen Sound zum abspielen vorbereitet. Und wenn ich das bei mir so mache wird der Sound gar nicht mehr leiser. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group