Sound wird nicht richtig abgespielt
Übersicht

![]() |
BastianABetreff: Sound wird nicht richtig abgespielt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, ich lade vor der Hauptschleife mit folgendem Code einen Sound.
Code: [AUSKLAPPEN] While Not KeyHit(ESC) ;Sounds laden Anfahren = LoadSound ("Sounds\Anfahren.wav") Und dann will ich ihn bei einer Bedingung abspielen: Code: [AUSKLAPPEN] If Speed = 0 And fahrstufe = "15" Or fahrstufe = "25" Or Fahrstufe = "40" Or Fahrstufe = "70" Or Fahrstufe = "80" Then
channelID = PlaySound (Anfahren) EndIf Die Sound-Datei existiert, sie ist 42 Sekunden lang. Immer wenn ich dann losfahre und die Bedingung erfüllt wird höre ich nur ein Rattern, und nach 5 Sekunden kommt "Sound does not exist". Was mache ich falsch? Bei einem 5 Sekunden Sound möchte ich ihn auf Tastendruck abspielen: If Speed = 0 And KeyDown (77) Then channelID2 = PlaySound (Zurueckbleiben) EndIf Code: [AUSKLAPPEN] Zurueckbleiben = LoadSound ("Sounds\Zurueckbleiben.wav")
;------------------------; ;-----HAUPTSCHLEIFE------; ;------------------------; While Not KeyHit(ESC) Da geht es problemlos, der Sound wird so abgespielt, wie es der Media Player auch macht. Muss ich eine bestimmte Länge beachten oder was ist an dem ersten Sound falsch? |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum "Sound does not exist":
BlitzBasic: [AUSKLAPPEN] While Not KeyHit(ESC) ;Vor der Hauptschleife? Das sieht aber anders aus. Zum Rattern: Du musst auch überprüfen, ob der Sound noch abgespielt wird. (Test auf ChannelPlaying ![]() mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, die Sounds habe ich während des Erstellens des Threads noch vor die Hauptschleife getan, habs vergessen zu ändern.
Wenn ich die Variable abfrage bekomme ich Illegal Memory Acces. Code: [AUSKLAPPEN] Global playsound_anfahren = 0 While Not Keyhit (1) If Speed = 0 And fahrstufe = "15" Or fahrstufe = "25" Or Fahrstufe = "40" Or Fahrstufe = "70" Or Fahrstufe = "80" Then playsound_anfahren = 1 EndIf If Not Speed = 0 And fahrstufe = "15" Or fahrstufe = "25" Or Fahrstufe = "40" Or Fahrstufe = "70" Or Fahrstufe = "80" Then playsound_anfahren = 0 EndIf If playsound_anfahren = 1 And ChannelPlaying (Anfahren) = 0 channelID = PlaySound (Anfahren) EndIf Ich habe mehrer Möglichkeiten versucht, abzufragen, ob der Sound gespielt wird und immer bekomme ich ein Illegal Memory Acces. Den selben Fehler habe ich, wenn ich meine Map als .3ds lade, den Fehler hatte ich noch nie. GIbt es sowas wie eine Poly-Grenze? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
A) Debugger anschalten, genauere Fehlermeldung & Zeile zum debuggen verwenden.
B) Sound <> Channel d.h.: Code: [AUSKLAPPEN] ChannelPlaying (channelID) Wäre richtig.
C) Ja, du kannst nicht mehr als 32.000 Polys (?) Pro Surface verwenden. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
A) Der Debugger bleibt bei einer Textur mit 8x8 pixeln stehen, das kann ja nicht richtig sein
B)Danke, warn Leichtsinnsfehler, funzt jetzt C)Also ich habe meine Map mit Anim8or gemoddelt vergleichbar mit Blender und als .3ds gespeichert die Texturenformate sind immer in der 2er Potenz und höchstens 1024x1024 pixel. Die Objekte liegen nicht übereinander, damit es keine Flackerprobleme gibt. Die .3ds besteht aus mehren Tausend Meshes die Poly-Zahl liegt bei 100.000. Ich habe mal die .3ds in drei verschiedene abgespeichert. Ich hab jetzt versucht nur die MU_1.3ds zu laden die weniger als 20 Tausend Polys hat und ich bekomme den gleichen Fehler, bei Rendering World bleibt er stehen. Sonst habe ich immer 300 Tausend Polys für ein Mesh gehabt und es ging problemlos. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group