FAQ SDL
FAQ SDLConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 67, création le 10 mai 2013
Contrairement au module audio de SDL, SDL_mixer peut gérer beaucoup de formats :
- WAVE/RIFF (.wav) :
- AIFF (.aiff) :
- VOC (.voc) :
- MOD (.mod, .xm, .s3m, .669, .it, .med…) ;
- MIDI (.mid) ;
- OggVorbis (.ogg) ;
- MP3 (.mp3) ;
- …
À noter cependant que le format wav conserve un avantage non négligeable : contrairement à la plupart des autres formats, il n'est pas compressé, et peut donc être joué sans risque de lag dû à la décompression. Les WAV sont généralement recommandés pour jouer des petits sons brefs.
Voici un petit programme commenté qui décrit la marche à suivre pour jouer une musique avec SDL_mixer :
/* En-têtes sous linux */
#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
int
main
(
)
{
/* On déclare la variable qui représentera notre musique une fois chargée */
Mix_Music*
myMus;
/* On initialise le son */
SDL_Init
(
SDL_INIT_AUDIO);
/* On ouvre un device audio */
Mix_OpenAudio
(
22050
, MIX_DEFAULT_FORMAT, 2
, 1024
);
/* On charge un fichier musical */
myMus =
Mix_LoadMUS
(
"
ma_musique.ogg
"
);
/* On lance la musique */
Mix_PlayMusic
(
myMus, 1
);
while
(
Mix_PlayingMusic
(
) ==
1
)
{
/* Tant que la musique n'est pas terminée, on fait quelque chose
car sinon le programme s'éteint et le son aussi */
SDL_Delay
(
10
);
}
/* La musique est terminée, on la libère */
Mix_FreeMusic
(
myMus);
/* On libère le matériel */
Mix_CloseAudio
(
);
return
0
;
}