Sound wird verfälscht wiedergegeben
Übersicht

blitzkingBetreff: Sound wird verfälscht wiedergegeben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn ich einen sound abspielen will wird dieser immer komplett verfalscht wiedergegeben
hier mal der code Code: [AUSKLAPPEN] AppTitle "Afghanistan"
Graphics3D 800,600,32,1 SetBuffer BackBuffer() ;camera cam=CreateCamera() PositionEntity cam,1300,20,0 EntityType cam,1 ;light light=CreateLight() RotateEntity light,90,0,0 ;Terrain terrain=LoadTerrain("heightmap.BMP") tex1=LoadTexture("grass.bmp") EntityTexture terrain,tex1,0,0 ScaleEntity terrain,50,290,50 ScaleTexture tex1,50,50 EntityType terrain,2 ;water water=CreatePlane() watertext=LoadTexture ("water.bmp",4) EntityTexture water,watertext ScaleTexture watertext,100,100 MoveEntity water,4,10,2 EntityAlpha water,0.6 ;Fadenkreuz pointer=LoadImage("crosshair.bmp") ;waffe pistol=LoadMesh("pistol.x",cam) PositionEntity pistol,5,-5,5 RotateEntity pistol,0,180,0 ;snd schuss=LoadSound("gunshot.wav") SoundVolume schuss,1 schritte=LoadSound("gravel.wav") SoundVolume schritte,1 While Not KeyDown(1) If MouseHit(1)=True Then PlaySound schuss If KeyHit(17)=True Then PlaySound schritte ;Steuerung Maus MSX = MouseXSpeed() MSY = MouseYSpeed() PlayerSpeed = 1 MoveMouse GraphicsWidth()/2, GraphicsHeight()/2 TurnEntity cam,MSY/3, MSX/3*-1,0 RotateEntity cam, EntityPitch(cam), EntityYaw(cam), 0 Collisions 1,2,2,2 ;Steuerung Tastatur If KeyDown(17)=True Then MoveEntity cam,0,0,1 If KeyDown(31)=True Then MoveEntity cam,0,0,-1 If KeyDown(30)=True Then MoveEntity cam ,-1,0,0 If KeyDown(32)=True Then MoveEntity cam,1,0,0 RenderWorld DrawImage pointer,400,300 HidePointer Flip Wend ClearWorld End |
||
![]() |
ChriseBetreff: Re: Sound wird verfälscht wiedergegeben |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht hast du bei Createlistener falsche Werte für Dopplereffekt und Lautstärkeregelung eingestellt ![]() |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er nutzt ja auch 3D-Sounds. ![]() Könntest du, blitzking, mal den Fehler bitte genauer beschreiben? Ich kann im Moment nämlich keinen erkennen. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab aber keinen 3d sound
beim schuss hört sich alles normal an wenn ich keydown(17) in keyhit(17) ändere is auch alles wida normal aber ich will ja dass der sound abgespielt wird solange sich der spieöer bewegt |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du den Sound bei KeyDown abspielst so wird er mehrmals pro Sekunde (eben in jedem Frame) gestartet und das hört sich dann bestimmt nach Rattern oder ähnlichem an.
Du könntest eine zusätzliche Überprüfung mit ChannelPlaying ![]() Aber 2 allgemeine Dinge: -) Collisions ![]() ![]() -) Ein Timer mit Flip 0 wäre mehr als nur empfehlenswert. Warum? mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja aber wie genau soll ich das dann schreiben | ||
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eingeproggt hat Folgendes geschrieben: Du könntest eine zusätzliche Überprüfung mit ChannelPlaying ![]() Code: [AUSKLAPPEN] If ChannelPlaying(sound)=False Then Playsound sound
|
||
1 ist ungefähr 3 |
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das geht aber auch nicht wirklich | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne jetzt Deinen Code zu kennen wage ich zu behaupten das Du den Code von wurgel 1:1 übernommen hast und das ganze etwa so aussieht:
sound=LoadSound("sfx/irgendwas.wav") . . . If ChannelPlaying(sound)=False Then PlaySound(sound) Wen dem so ist hast Du keinen Blick in die Hilfe geworfen, oder was falsch verstanden was channels angeht. Falls ich falsch liege brauchen wir wohl oder übel die aktuellen Codefetzen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das If ChannelPlaying() geht beim ersten Aufruf schief, denn da gibt es ja noch keinen allozierten Channel. Der existiert ja erst, wenn der Sound schon mal gestartet wurde. Die richtige Reihenfolge ist daher:
BlitzBasic: [AUSKLAPPEN] Global Schritte=LoadSound("gravel.wav") Der Haken ist der nicht existierende Befehl AllocChannel() in BB. Durch den Trick eines ersten Abspielen des Sounds zu Ladephase wird aber SchrittChannel aktiviert. Die Lautstärke wird sofort auf 0 gesetzt, denn du willst ja den Sound beim Laden nicht gleich einmal hören müssen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group