IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FMOD Discussion :

Soucis de passage de paramètre d'un FMOD_SOUND


Sujet :

FMOD

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Soucis de passage de paramètre d'un FMOD_SOUND
    Bonjour à tous,
    Je rencontre un petit soucis avec FMOD ou plutôt avec l'écriture requise en C pour faire fonctionner FMOD à travers une fonction.

    Je tiens à préciser que FMOD est correctement installé et paramétré car je suis en mesure d'écouter n'importe quel son à condition qu'il ne soit pas en paramètre d'une fonction.

    Pour simplifier votre analyse je ne vais écrire que les lignes intéressantes, à commencer par le header :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header.h
    void leson(FMOD_SOUND *caisse);
    La fonction "leson" servira à écouter le son "caisse"

    Ensuite un extrait du programme en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <fmod.h>
    FMOD_SYSTEM *system;
    FMOD_SOUND *caisse;
    FMOD_RESULT resultat8;
    FMOD_System_Create(&system);
    FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, NULL);
     
    resultat8 = FMOD_System_CreateSound(system, "sound/caisse.wav", FMOD_CREATESAMPLE, 0, &caisse);
    if (resultat8 != FMOD_OK)
    {
        fprintf(stderr, "error");
        exit(EXIT_FAILURE);
    }
    Jusqu'ici rien d'anormal, d'ailleurs si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, caisse, 0, NULL);
    J'entends bien le son.

    Maintenant j'ai créé un switch pour l'exemple en demandant l'appel de la fonction leson() lorsque j'appuie sur la touche "v"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                switch(event.type)
                {
     
                        case SDL_KEYDOWN:
                        switch(event.key.keysym.sym)
                                {
     
                                    case SDLK_v:
                                    leson(&caisse);
                                    break;
    Et enfin la fonction leson()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void leson(FMOD_SOUND *caisse)
     
    {
    FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, caisse, 0, NULL);
    fprintf(stderr, "test");
    }
    Le fprintf me sert à vérifier que la fonction est correctement lancée et c'est bien le cas, sauf que je n'entends pas le son "caisse" lorsque je presse "v"..

    Qu'est-ce que j'ai fait de mal ?

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Bonne question ... Que donne le FMOD_RESULT que renvoye la fonction PlaySound ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 623
    Points : 1 554
    Points
    1 554
    Par défaut
    Hello,

    leson reçoit un paramètre du type FMOD_SOUND **, donc ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    leson(FMOD_SOUND **caisse)
    {   FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, *caisse, 0, NULL);
    }
    
    ou modifier l'appel
    
    leson(caisse)
    devrait fonctionner. Ton compilateur n'a rien dit?
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

Discussions similaires

  1. Réponses: 22
    Dernier message: 04/04/2012, 11h17
  2. souci de passage de paramètre ?
    Par philippe6 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 08/12/2010, 17h18
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo