Public Group

# SDL_mixer help or suggestions for another library for sound?

This topic is 2167 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I wrote code that is basically this:if(Mix_Playing(4])==0) Mix_PlayChannel(4,sound,0);It is set up in an infinite loop so the sound loops for infinity. However, there are times that there are "skips" in the sound and it is not constant repetition (which is bad; I need a constant buzzing noise for the bees in this game).

It is bad enough that SDL_mixer requires .wav files (which take up a lot of space) for the sounds, but now it will not even work the way I need it to. Does anyone have a suggestion for a better means of playing sounds (must be free and set up under a license so I can use it for commercial software and not have to give the creators anything)? Or at least a solution to this problem with SDL_mixer?

Thank you in advance. All help is appreciated.

##### Share on other sites
You can load more than just .wav files. For example:

[source lang="cpp"]#include "SDL/SDL.h"
#include "SDL/SDL_mixer.h"

int main(int argc, char* argv[]){

SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);

SDL_SetVideoMode(320, 240, 0, SDL_ANYFORMAT);

// Here's the audio part ///////////////////////////////////
int audio_rate = 22050;
Uint16 audio_format = AUDIO_S16SYS;
int audio_channels = 2;
int audio_buffers = 4096;

Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers);

Mix_PlayMusic(music, -1); // -1 -> loop forever
////////////////////////////////////////////////////////////

SDL_Event event;

char running = 1;
while(running){
while(SDL_PollEvent(&event)){
if (event.type == SDL_KEYDOWN){
running = 0;
}
}
SDL_Delay(1);
}

return 0;

}[/source]

This seems to loop fine for me.

Maybe there's a delay in your sound file?

##### Share on other sites
Thank you for your response and the tip. However, I am referring to looping Mix_Chunks, not Mix_Music. I know that Mix_Chunk seems to have support only for .wav files, so are you suggesting I use Mix_Music and Mix_PlayMusic for all of my sounds? It actually sounds rather effective. There is no delay in the sound file, by the way. It will play it and loop it a time or two properly, and on the third go-around, there is a delay.

Thank you.

• 36
• 15
• 9
• 23
• 10