Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <fmod.h>
  4. #include <SDL.h>
  5.  
  6. void soundJump();
  7.  
  8. int main (int argc, char *argv[])
  9. {
  10.     SDL_Surface *ecran = NULL;
  11.     SDL_Event event;
  12.  
  13.     FMOD_SYSTEM *system;
  14.     FMOD_SOUND *mainTheme;
  15.     FMOD_RESULT resultat;
  16.  
  17.     int continuer = 1;
  18.  
  19.     FMOD_System_Create(&system);
  20.     FMOD_System_Init(system, 2, FMOD_INIT_NORMAL, NULL);
  21.  
  22.     /* Ouverture du fichier MarioTheme.mid */
  23.     resultat = FMOD_System_CreateSound(system, "MarioTheme.mid", FMOD_SOFTWARE | FMOD_2D | FMOD_CREATESTREAM, 0, &mainTheme);
  24.  
  25.     /* Vérification du succès d'ouverture */
  26.     if(resultat != FMOD_OK)
  27.     {
  28.         fprintf(stderr, "Impossible d'ouvrir MarioTheme.mid\n");
  29.         exit (EXIT_FAILURE);
  30.     }
  31.  
  32.     /* On joue la musique */
  33.     FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, mainTheme, 0, NULL);
  34.  
  35.     /* Initialisation de la SDL + ouverture d'un fenêtre */
  36.     SDL_Init(SDL_INIT_VIDEO);
  37.  
  38.     SDL_ShowCursor(SDL_ENABLE);
  39.     ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
  40.     SDL_WM_SetCaption("Bibliothèque de sons pour Donkey-Kong", NULL);
  41.  
  42.     while(continuer)
  43.     {
  44.         SDL_WaitEvent(&event);
  45.         switch(event.type)
  46.         {
  47.             case SDL_QUIT:
  48.                 continuer = 0;
  49.                 break;
  50.             case SDL_KEYDOWN:
  51.                 if(event.key.keysym.sym == SDLK_SPACE) //Si on appuie sur SPACE
  52.                 {
  53.                     soundJump();
  54.                 }
  55.                 break;
  56.             SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
  57.             SDL_Flip(ecran);
  58.         }
  59.     }
  60.  
  61.     FMOD_Sound_Release(mainTheme);
  62.     FMOD_System_Close(system);
  63.     FMOD_System_Release(system);
  64.  
  65.     /* Fermeture de la SDL */
  66.     SDL_Quit();
  67.  
  68.     return EXIT_SUCCESS;
  69. }
  70.  
  71. void soundJump()
  72. {
  73.     FMOD_SOUND *jump;
  74.     FMOD_RESULT resultat;
  75.  
  76.     /* Chargement et vérification du son */
  77.     resultat = FMOD_System_CreateSound(system, "Saut.wav", FMOD_CREATESAMPLE, 0, &jump);
  78.     if (resultat != FMOD_OK)
  79.     {
  80.         fprintf(stderr, "Impossible d'ouvrir le fichier Saut.wav\n");
  81.         exit(EXIT_FAILURE);
  82.     }
  83.  
  84.     /* Lancement du son */
  85.     FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, jump, 0, NULL);
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement