1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| FMOD_System_GetMasterChannelGroup(system, &allChannel);
FMOD_System_CreateSound(system, "musique.mp3", FMOD_SOFTWARE | FMOD_2D | FMOD_CREATESTREAM | FMOD_LOOP_NORMAL, 0, &musique);
FMOD_Sound_SetLoopCount(musique, -1);
FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, musique, 0, NULL);
FMOD_System_GetChannel(system, FMOD_CHANNEL_FREE, &channel);
ecran = SDL_SetVideoMode(1024, 400, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("Lecteur Audio", NULL);
coordonee.y = coordonee.x = 0;
while (continuer)
{
tempsPrecedent = SDL_GetTicks ();
while(SDL_PollEvent(&myEvent))
{
switch(myEvent.type)
{
case SDL_QUIT: continuer = 0;
break;
case SDL_KEYDOWN:
switch(myEvent.key.keysym.sym)
{
case SDLK_ESCAPE: continuer = 0;
break;
case SDLK_SPACE:
FMOD_ChannelGroup_GetPaused(allChannel, &pause);
FMOD_ChannelGroup_SetPaused(allChannel, !pause);
break;
}
}
}
FMOD_Channel_GetSpectrum(channel, frequenceMusique, NBFREQUENCE, 0, FMOD_DSP_FFT_WINDOW_RECT);
for(iFrequence = 0; iFrequence < NBFREQUENCE; iFrequence ++)
{
fprintf(stderr,"%f\n", frequenceMusique[iFrequence]);
}
for( iFrequence = 0, coordonee.x = 0; iFrequence < NBFREQUENCE; iFrequence ++, coordonee.x ++ )
{
barreVerticale = SDL_CreateRGBSurface(SDL_HWSURFACE, 1, (frequenceMusique[iFrequence] * 400), 32, 0, 0, 0, 0);
SDL_FillRect(barreVerticale, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(barreVerticale, NULL, ecran, &coordonee);
SDL_Flip(ecran);
}
tempsActuel = SDL_GetTicks ();
if(tempsActuel - tempsPrecedent < 30)
{
SDL_Delay(30 - (tempsActuel - tempsPrecedent));
} |
Partager