Bonjour tout le monde ,
J'ai un petit souci dans mon projet de jeu 3D développé avec Ogre en C++. J'utilise l'API FMOD Ex (en fait je ne peux inclure que fmod.h pour des soucis que je n'évoquerais pas ici) pour gérer le son de mon jeu. Jusque là tout va bien et j'arrive à jouer le son, le stopper et le redémarrer suite à des évènements. Le problème intervient lorsque j'essaye de jouer plusieurs sons au même instant, je m'explique : je lance un son d'ambiance (une musique assez longue) qui rythme mon niveau et l'univers et par dessus, j'aimerais que le joueur puisse entendre ses bruits de pas lorsqu'il marche sur une surface en particulier par exemple.
Après quelques recherches sur le net, j'ai crû comprendre qu'il fallait gérer les différents "canaux" d'un objet son déclaré avec FMOD. Le souci c'est que je ne vois pas comment faire ça proprement afin d'éviter d'instancier un objet son différent à chaque fois mais un seul et d'utiliser ses canaux pour jouer certains ensembles et pas d'autres... J'espère que vous comprenez à peu près ce que j'essaie de faire au final
Pour l'instant, je ne peux jouer qu'un seul son (et un à la fois donc) :
Les attributs actuels de ma classe MySound sont les suivants (ça me parait déjà bizarre qu'il faille déclarer un objet FMOD_SOUND ET un objet FMOD_CHANNEL puisque je pensais que les deux étaient liés, à savoir que les canaux étaient une propriété d'un son...) :
Merci d'avance pour votre aideFMOD_RESULT _result;
FMOD_SYSTEM *_fsystem;
FMOD_SOUND *_sound;
FMOD_CHANNEL *_channel;
Alex
Partager