Witam
Piszę Snake'a za pomocą SDL i przez SDL_mixer chciałem odgrywać dźwięk gdy snake się przesuwa.
Problem polega na tym, że gdy snake porusza się szybko, dźwięk ruchu bywa nieregularnie pomijany (co jakiś czas jakiś dźwięk ucieknie)
Lepszym rozwiązaniem (moim zdaniem) byłoby gdyby dźwięk był urywany i odgrywany na nowo.

Próbowałem zrobić to w ten sposób:

 void SNAKE::move(int& eat_mod) 
{
     Mix_HaltChannel(0);
     Mix_PlayChannel(0,SNAKE_STEP,0);
...
}

Ale nie działa...

Ustalam konkretny kanał bo dając -1 dźwięki się nakładały;

Urzywam:
Mix_OpenAudio( 22050, MIX_DEFAULT_FORMAT, 2, 4096 )