[SDL_mixer] Verzögerung bei Soundwiedergabe
-
Ich verwende nun SDL_mixer, um Musik und Soundeffekte in meiner Anwendung wiederzugen.
Ich lade einen Soundeffekt: Mix_Chunk *mySound = Mix_LoadWAV("blubb.wav");
Und lasse ihn abspielen: Mix_PlayChannel(-1, mySound, 0);Das Abspielen erfolgt beim Drücken einer Taste und es fällt auf, dass der Soundeffekt erst mit einer (geschätzten) Verzögerung von 0.25 bis 0.5 Sekunden abgespielt wird. Die fällt auf, da z.B. das Neuzeichnen in meiner Anwendung schon vor Wiedergabebegin abgeschlossen ist.
Das Soundfile selbst hate ich genau zugeschnitten, es hat am Anfang keine "Leerlaufzeit".
-
Nach lnger langer Suche habe ich das Problem gefunden:
Mix_OpenAudio(22050, AUDIO_S16, 2, 4096);
Der Buffer war zu groß gewählt. Setze ich ihn z.B. auf 2048, so wird die Verzögerung so reduziert, dass sie praktisch nicht mehr zu bemerken ist.