19 #include <SDL3_mixer/SDL_mixer.h>
24 if (!SDL_Init(SDL_INIT_AUDIO)) {
25 fprintf(stdout,
"Cannot initialize SDL Audio: %s\n", SDL_GetError());
26 return (EXIT_FAILURE);
30 fprintf(stdout,
"Cannot initialize SDL Mixer: %s\n", SDL_GetError());
31 return (EXIT_FAILURE);
36 spec.format = SDL_AUDIO_S16;
38 MIX_Mixer*
mixer = MIX_CreateMixerDevice(SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &spec);
40 fprintf(stdout,
"Cannot initialize audio device: %s\n", SDL_GetError());
41 return (EXIT_FAILURE);
44 int n = MIX_GetNumAudioDecoders();
45 bool found_vorbis =
false;
46 for(
int i = 0;
i <
n;
i++) {
47 if(strcmp(MIX_GetAudioDecoder(
i),
"VORBIS") == 0) {
52 fprintf(stdout,
"VORBIS codec not available\n");
53 return (EXIT_FAILURE);
56 MIX_Audio* music = MIX_LoadAudio(
mixer, argv[1],
false);
57 if (music ==
nullptr) {
58 fprintf(stdout,
"Cannot load music file: %s\n", SDL_GetError());
59 MIX_DestroyMixer(
mixer);
60 return (EXIT_FAILURE);
63 fprintf(stdout,
"Success\n");
64 MIX_DestroyAudio(music);
65 MIX_DestroyMixer(
mixer);
67 return (EXIT_SUCCESS);
int main(int, char **argv)
static map_location::direction n