FAQ SDL

FAQ SDLConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 67, création le 10 mai 2013
Sommaire→Audio→SDL_mixerContrairement 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;
}


