Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jouer de la musique avec Le Fmod !

FMUSIC_MODULE * f

    28 décembre 2005 à 10:39:25

    Salut !!

    J'ai un probleme avec mon code qui normalement devrait jouer de la musique.
    J'ai bien installé et inclu le fmod dans mon projet.

    voila le code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <fmod/fmod.h>



    int main()
    {
            FMUSIC_MODULE * f;
            FSOUND_STREAM* g;
            FSOUND_STREAM* g2;
            int r;
            FSOUND_Init(44100, 32, 0);
            FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
            FSOUND_SetDriver(0);
            f = FMUSIC_LoadSong("./smb.mid");
            g = FSOUND_Stream_Open("./test.mp3",FSOUND_LOOP_NORMAL, 0,0);
            g2 = FSOUND_Stream_Open("./test.mp3",0, 0,0);
            r = FSOUND_GetError ();
            FSOUND_Stream_Play(0,g);

            system("PAUSE");
            FSOUND_Stream_Play(1,g2);
            system("PAUSE");
            FSOUND_Stream_Close(g);
            FSOUND_Stream_Close(g2);
            FMUSIC_FreeSong(f);
            return 0;
    }

    Le programme doit lancer la musique nommer smb.mp3 or voila ce que me dit Dev c++ a la compil :
    (j'ai la flemme de tout copier alors je prend un screen shoot :) )

    Citation


    Image utilisateur



    Voila ++
    • Partager sur Facebook
    • Partager sur Twitter
      28 décembre 2005 à 12:03:43

      As-tu inclus la librairie fmod à ton projet ?
      Je parle de la lib compilée (.a ou .lib) hein, pas du .h ;)

      Si le compilo ne sait pas où se trouve la lib, il peut pas s'en servir !
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        28 décembre 2005 à 14:07:05

        Oui j'ai copier les librairies dans le bon dossier mais "le truc qui cloche" c'est que j'ai pas de .a mais que des .lib ...
        • Partager sur Facebook
        • Partager sur Twitter
          28 décembre 2005 à 14:31:31

          Bon alors ça ne marchera pas. Si tu es sous Dev tu utilise le compilateur MinGw qui lui utilise des lib en .a, comme ces librairies ont été compilé avec le toolkit de Microsoft (qui fait des .lib) il y'a incompatibilité. Il faudrait que tu recompile ces libraries avec MinGw
          • Partager sur Facebook
          • Partager sur Twitter
            28 décembre 2005 à 14:54:09

            Donc j'ouvre mes .a et je les compiles ?
            • Partager sur Facebook
            • Partager sur Twitter
              28 décembre 2005 à 17:15:17

              Non, non. Si ta bibliothèque fourni des fichier .a utilise ceux là dans le linker à la place des .lib. Sinon il faudra que tu cherche les sources et que tu les recompile en .a grâce à MinGw
              • Partager sur Facebook
              • Partager sur Twitter
                28 décembre 2005 à 17:56:32

                Ok et y'aurai pas une autre methode pour jouer un son ?
                • Partager sur Facebook
                • Partager sur Twitter
                  28 décembre 2005 à 18:33:32

                  Cherche ça avec la SDL, comme ça en plus tu t'avance sur le cours de Mathéo ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 décembre 2005 à 21:25:09

                    Ok je verrai avec SDL merci à tous et toi aussi Mathieu Nebra ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 décembre 2005 à 13:15:26

                      Alors voila j'ai essayé chez moi, il faut que tu:
                      Télécharge FMOD sur DEVC++: pour cela il faut que tu face: Outils/Nouvelles vesions/packages...Ensuite il te demande: Select devpack server, tu met devpacks.org, et la tu clic sur Check for updates. La tu as la liste de toutes les lib dispo, donc tu les classes par nom et tu cherche FMOD. Tu coche FMOD puis tu clic sur Download selected.
                      Voila tu vient d'ajouter la lib FMOD a devC++...

                      Il ne te reste plus qu'a l'ajouter te à ton projet: Tu vas donc dans Projet/Options du Projet/Parramètres. Puis tu tape dans "Editeur de lien": <citation nom="">-lFMOD</citation>

                      Il faut ensuite télécharger la DLL FMOD: ICI et tu la copie dans le repertoire de l'aplication...

                      Je suis la si tu as un problème...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 décembre 2005 à 13:23:32

                        Je viens d'essayer sa marche super !! Merci beaucoup !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 décembre 2005 à 16:53:09

                          Voila, j'ai repris le programme que j'ai fais avec W!nn!3 et je l'ai amelorier et j'ai une erreur sur cette ligne

                          FMUSIC_MODULE * f;


                          Pour mieu comprendre je vais vous donner le code


                          /*
                          |---------------Crée par W!nn!3 et Jauneange--------------|
                          */



                          #include <stdio.h>
                          #include <stdlib.h>
                          #include <fmod/fmod.h>


                          /* Initialisation des variables des Menus */

                          long choixMenuGeneral, choixMenuCalculatrice, choixMenuConvertir, choixMenuChienChat, choixMenuMusique = 0;

                          /* Initialisation des variables du chronometre */

                          long seconde, heure, minute = 0;

                          /*Initialisation des variables d'age chien ou chat*/

                          long ageChien, ageChat, resultatAge = 0;
                           
                          /* Initialisation des variables du compte a rebourd */

                          long secondeCompteRebourd = 0;

                          /* Initialisation des variables de la calculatrice */

                          double nombreCalculatrice1, nombreCalculatrice2, resultatCalculatrice, nombreConvertir, resultatConvertir = 0;



                          int main(int argc, char *argv[])
                          {//Début fonction Main
                             
                            /*----------Accueill----------*/
                           
                            printf("Bienvenue sur la calculette multiFonction propose par Winnie et Jauneange");

                            /*----------Menu général----------*/
                           
                            printf("\n\n  .:Menu general:.\n");
                            printf("\n  1.Caclulatrice");
                            printf("\n  2.Conversion");
                            printf("\n  3.Chronometre");
                            printf("\n  4.Compte a rebourd");
                            printf("\n  5.Age chien ou chat");
                            printf("\n\n  Quel est donc votre choix ?  ");
                            scanf("%ld", &choixMenuGeneral);
                           
                            /*----------Switch du Menu général----------*/
                           
                            switch(choixMenuGeneral)
                            { // Début Menu Général
                            case 1 :
                                      /*----------Calculatrice----------*/
                                      system("CLS");
                                      printf("\n                           **** Calculatrice ****\n\n");
                                     
                                      printf("\n\nPremier nombre :  ");
                                      scanf("%lf", &nombreCalculatrice1);
                                      printf("\n\nDeuxieme nombre :  ");
                                      scanf("%lf", &nombreCalculatrice2);
                                     
                                      /*----------Menu Opération Calculatrice----------*/
                                     
                                      printf("\n\n  .:Menu Calculatrice:.\n");
                                      printf("\n  1.Additionner");
                                      printf("\n  2.Soustraire");
                                      printf("\n  3.Multiplier");
                                      printf("\n  4.Diviser");
                                      printf("\n\nVotre choix :  ");
                                      scanf("%ld", &choixMenuCalculatrice);
                                     
                                      /*----------Switch de la calculatrice----------*/
                                     
                                      switch(choixMenuCalculatrice)
                                      {// Début menu Calculatrice
                                      case 1 :
                                               /*....Additioner...*/
                                               resultatCalculatrice = nombreCalculatrice1 + nombreCalculatrice2;
                                               printf("\n\n%lf + %lf = %lf\n", nombreCalculatrice1, nombreCalculatrice2, resultatCalculatrice);
                                               
                                      break;
                                     
                                      case 2 :
                                              /*....Soustraire....*/
                                              resultatCalculatrice = nombreCalculatrice1 - nombreCalculatrice2;
                                              printf("\n\n%lf - %lf = %lf\n", nombreCalculatrice1, nombreCalculatrice2, resultatCalculatrice);
                                     
                                      break;
                                     
                                      case 3 :
                                              /*....Multiplier....*/
                                              resultatCalculatrice = nombreCalculatrice1 * nombreCalculatrice2;
                                              printf("\n\n%lf * %lf = %lf\n", nombreCalculatrice1, nombreCalculatrice2, resultatCalculatrice);
                                             
                                      break;
                                     
                                      case 4 :
                                              /*....Diviser....*/
                                              resultatCalculatrice = nombreCalculatrice1 / nombreCalculatrice2;
                                              printf("\n\n%lf / %lf = %lf\n", nombreCalculatrice1, nombreCalculatrice2, resultatCalculatrice);
                                      break;
                                      }// Fin menu Calculatrice
                            break;
                           
                            case 2 :
                                    /*----------Convertiseur----------*/
                                   
                                    system("CLS");
                                    printf("\n                           **** Convertisseur ****\n\n");
                                   
                                    printf("\n\n1.Convertisseur francs > euros");
                                    printf("\n\n2.Convertisseur euros > francs");
                                    printf("\n\nVotre choix :  ");
                                    scanf("%ld", &choixMenuConvertir);
                                   
                                    /*----------Switch de la calculatrice----------*/
                                   
                                    switch(choixMenuConvertir)
                                    {//Début menu convertir
                                    case 1
                                            /*....Francs >> Euros....*/   
                                           
                                            system("CLS");
                                           
                                            printf("\n                        **** Convertisseur Francs > Euros ****\n\n");
                                             
                                            printf("\n\nSomme a convertir : ");
                                            scanf("%lf", &nombreConvertir);
                                           
                                            resultatConvertir = nombreConvertir * 6.55957;
                                           
                                            printf("%lf francs = %lf euro(s)", nombreConvertir, resultatConvertir);
                                    break;
                                   
                                    case 2 :
                                           /*....Euros >> Francs....*/
                                           
                                           system("CLS");
                                           
                                           printf("\n                         **** Convertisseur Euros > Francs ****\n\n");
                                           
                                           printf("\n\nQuel est la somme a convertir ?");
                                           scanf("%lf", &nombreConvertir);
                                           
                                           resultatConvertir = nombreConvertir / 6.55957;
                                           
                                           printf("%lf euro(s) = %lf franc(s)", nombreConvertir, resultatConvertir);
                                    break;       
                                    }//Fin menu Convertir
                                   
                            case 3 :
                                   /*----------Chronométre----------*/
                                   
                                   system("CLS");
                                   
                                   printf("\n                           **** Chronometre ****\n\n\n");
                                   
                                   
                                   system("PAUSE");
                                   
                                   while(1)
                                          {//Début du while
                             
                                           sleep( (int) 1000 );
                                           system("CLS");
                             
                             
                                           if(seconde == 60)
                                              {
                                               minute++;
                                               seconde = 0;           
                                              }
                             
                                           if(minute == 60)
                                           {
                                              heure++;
                                              minute = 0;         
                                           }
                                           
                                           printf("\n                           **** Chronometre ****\n\n\n");
                                           printf("                        %ld heures %ld minutes %ld secondes", heure, minute, seconde);
                                           seconde++;
                                          }
                                   
                            break;
                           
                            case 4 :
                                   /*----------Compte à rebourd----------*/
                                   
                                   system("CLS");
                                   
                                   printf("\n                           **** Compte a rebourd ****\n\n\n");
                                   
                                   printf("Choissisez le temps en seconde : ");

                                   printf("Vous voulez quelle musique : \n");
                                   
                                   printf("1.A l'anventure compagnon\n");
                                   
                                   printf("2.Techno\n");
                                   
                                   printf("3.Quelque bip du systeme\n");
                                   
                                   printf ("Choisisez : \n");
                                   scanf("%ld", &choixMenuMusique);
                                   
                                   switch(choixMenuMusique)
                                   {//Debut menu musique
                                   case 1 :
                                   
                                   
                                   FMUSIC_MODULE * f;
                                  FSOUND_STREAM* g;
                                  FSOUND_STREAM* g2;
                                  int r;
                                  FSOUND_Init(44100, 32, 0);
                                  FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
                                  FSOUND_SetDriver(0);
                                  f = FMUSIC_LoadSong("./smb.mid");
                                  g = FSOUND_Stream_Open("./donjon-alanventure.mp3",FSOUND_LOOP_NORMAL, 0,0);
                                  g2 = FSOUND_Stream_Open("./donjon-alaventure.mp3",0, 0,0);
                                  r = FSOUND_GetError ();
                                  FSOUND_Stream_Play(0,g);

                                  system("PAUSE");
                                  FSOUND_Stream_Play(1,g2);
                                  system("PAUSE");
                                  FSOUND_Stream_Close(g);
                                  FSOUND_Stream_Close(g2);


                                  FMUSIC_FreeSong(f);     
                          break;
                                case 2 :
                                        FMUSIC_MODULE * f;
                                  FSOUND_STREAM* g;
                                  FSOUND_STREAM* g2;
                                  int r;
                                  FSOUND_Init(44100, 32, 0);
                                  FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
                                  FSOUND_SetDriver(0);
                                  f = FMUSIC_LoadSong("./smb.mid");
                                  g = FSOUND_Stream_Open("./Techno - Trance - House - BT - Dreaming dj tiesto remix.mp3",FSOUND_LOOP_NORMAL, 0,0);
                                  g2 = FSOUND_Stream_Open("./Techno - Trance - House - BT - Dreaming dj tiesto remix.mp3",0, 0,0);
                                  r = FSOUND_GetError ();
                                  FSOUND_Stream_Play(0,g);

                                  system("PAUSE");
                                  FSOUND_Stream_Play(1,g2);
                                  system("PAUSE");
                                  FSOUND_Stream_Close(g);
                                  FSOUND_Stream_Close(g2);
                                  FMUSIC_FreeSong(f);
                          break;
                                case 3 :
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                                     printf("\a**Bip**")
                                     printf("\a**Bip**")
                                     sleep (1600)
                          break;

                                     {//Fin menu musique

                                   scanf("%ld", &secondeCompteRebourd)
                           
                                   while(secondeCompteRebourd > -1)
                                   {
                                                           
                                     sleep( (int) 1000 );
                                     system("CLS");
                             
                                     printf("\n                           **** Compte a rebourd ****\n\n\n");
                               
                                     printf("                                  %ld seconde(s)\n\n", secondeCompteRebourd);
                                     secondeCompteRebourd--;             
                                   }

                               
                                   
                            break;
                           
                            case 5 :
                                   /*----------Age Chien Ou Chat----------*/
                                   
                                   /*....Menu chien ou chat....*/
                             system("CLS");
                                   
                                   printf("\n                           **** Age chien ou chat ****\n\n\n");
                             
                             printf (".:Menu chien ou chat:.\n");
                             
                                   printf("1.Chien\n");
                           
                                   printf("2.Chat\n");
                                   
                                   printf("Choisisez : ");
                                   
                                   scanf("%ld", &choixMenuChienChat );
                                 
                                 switch(choixMenuChienChat)
                                 {// debut menu Chien ou chat
                                 
                                 case 1 :
                                      /*....Chien....*/
                                      printf("Quel age a votre chien : ");
                                      scanf("%ld", &ageChien);
                                     
                                      resultatAge = ageChien * 7;
                                     
                                      printf("Votre chien a : %ld", resultatAge);
                                 
                                 break;
                                 
                                 case 2 :
                                      /*....Chat....*/
                                      printf("\n\nQuel age a votre chat : ");
                                      scanf("%ld", &ageChat);
                                     
                                      resultatAge = ageChat * 9;
                                      printf("Votre chat a : %ld\n", resultatAge);
                                     
                                 break;

                                     
                                 }//Fin menu chien ou chat
                           
                            }//Fin du Menu général
                           
                           
                           
                            /*----------Fin Du Programme----------*/
                           
                            system("PAUSE");
                            return 0;
                           
                          }//Fin de la fonction Main

                          merci d'avance ++
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 décembre 2005 à 8:52:14

                            L'erreur d'aprés ce qu'il ma dit, c'est la même que moi :
                            Image utilisateur
                            Donc je lui ai demander si il avait installé Fmod et si il avait mis le texte dans le linker et il ma repondu "oui" xD

                            Donc il ma passé son code et puis paf exactement le même probleme !!

                            Pourtant tout est bien installé le fmod.dll et dans le repertoire...

                            ++
                            W!nn!3
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 décembre 2005 à 14:00:51

                              Tu as bien écris -lFMOD, et pas -FMOD tout court? L'erreur vient forcément de la...
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 décembre 2005 à 14:18:27

                                Image utilisateur

                                J'ai bien mis -lFMOD mais toujour même erreur...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  30 décembre 2005 à 15:36:26

                                  et tu as bien télécharger le pack devC++ de FMOD, car sinon je seche je comprend pas pourquoi, enfin tu peut sinon essayer de changer la place de déclartion des variables (début du main), je sais pas...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    31 décembre 2005 à 17:45:37

                                    Quand j'ai repri le code et que j'ai lancé l'aplication sa a marché o_O

                                    c bizzare tous sa
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Jouer de la musique avec Le Fmod !

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown