#include "SDL.h" static void mix_channels(void *udata, Uint8 *stream, int len) { memset(stream, '\0', len); } static void PrintFormat(char *title, SDL_AudioSpec *fmt) { printf("%s: %d bit %s audio (%s) at %u Hz\n", title, (fmt->format&0xFF), (fmt->format&0x8000) ? "signed" : "unsigned", (fmt->channels > 2) ? "surround" : (fmt->channels > 1) ? "stereo" : "mono", fmt->freq); } int main(int argc, char **argv) { SDL_AudioSpec desired, obtained; if (SDL_Init(SDL_INIT_AUDIO) == -1) { fprintf(stderr, "SDL_Init(SDL_INIT_AUDIO) failed: %s\n", SDL_GetError()); return 1; } desired.freq = 44100; desired.format = AUDIO_S16LSB; desired.channels = 2; desired.samples = 4096; desired.callback = mix_channels; desired.userdata = NULL; if ( SDL_OpenAudio(&desired, &obtained) < 0 ) { fprintf(stderr, "SDL_OpenAudio() failed: %s\n", SDL_GetError()); return 1; } PrintFormat("desired", &desired); PrintFormat("obtained", &obtained); SDL_Quit(); return 0; }