SDL_Mixer Probleme


Joker

Well-Known Member
Joined
Mar 10, 2003
Messages
2,423
Hi Leute!

Ich habe Probleme mit dem Sound.
Ich habe eben das gemacht, was bei diesem Tutorial auch gemacht wurde, um die Musik zu pausieren, bzw. sound abzuspielen.
Die Frage ist nur: warum dauert es immer ein paar millisekunden, bis der Sound pausiert oder ausgeführt wird?

Das Tutorial: http://lazyfoo.net/SDL_tutorials/lesson11/index.php

setzt man an der Stelle:
Code:
<i>
</i>                        else
                        {
                            //Pause the music
                            Mix_PauseMusic();
                        }

noch ein cout rein:
Code:
<i>
</i>                        else
                        {
                            //Pause the music
                            std::cout << "Test" << std::endl;
                            Mix_PauseMusic();
                        }

kommt beim Tastendruck die Ausgabe "sofort", aber bis die Musik aufhört, dauert es ein paar Millisekunden.
Kann mir einer sagen, warum?
 
Ich kenn mich mit Audio-Programmierung nicht aus, aber mein Tipp wäre, dass die Soundkarte noch das abspielt, was sie noch im internen Buffer hat.
So wie dieser kleine, nervige Soundschnipsel der ewig geloopt wird bis man Reset drückt wenn der Rechner mal abkackt...
 
naja, nach einigen vielen Googeln gab es eine Theorie, dass es an MinGW liegt und darin ein Bug ist, den sich keiner erklären kann.
Kann einer zumindestens diese Theorie bestätigen?
 
ahhh...
Bei mir sah das so aus:
Code:
Mix_OpenAudio( 22050, MIX_DEFAULT_FORMAT, 2, 4096 )

ändere ich die 4096 mal auf 256 geht das ruck zuck!

Vielen herzlichen Dank!
Kannst du mir vielleicht noch sagen, was der nachteil ist, wenn ich den Puffer ziemlich niedrig setzte?
 
Bei einem zu kleinen Buffer könnte es zu Stotterern kommen, wenn er nicht schnell genug aufgefüllt wird.
 
Back
Top