bonjour à tous, j'ai un petit problème avec fmodex. j'arrive a lire du mp3 mais je n'arrive pas le mettre en pause:
mon
FMOD_System_GetMasterChannelGroup(system, &canal)
fonctionne bien
mais ça plante a ce niveau la :
FMOD_ChannelGroup_GetPaused(canal, &etat)
donc forcement il ne peut pas mettre la chanson en pause.
et a ce moment la j'ai une belle petite fenêtre call stack avec un"Program received signal SIGSEGV, Segmentation fault."
mon fichier.cpp:
char titre [50]="sons/Jenny from the block ( with Jadakiss ).mp3";
FMOD_SYSTEM *system=NULL;
chargerSon(titre,system);
while (continuer)
{
event.type=0;//initialisation
SDL_PollEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
numFight=nbFight;
numRound=nbRound;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_KP4://pause du jeu
//pause de la musique
FMOD_CHANNELGROUP *canal;
FMOD_BOOL etat;
if(FMOD_System_GetMasterChannelGroup(system, &canal)){
fprintf(stderr, "system bien recuperer");
}else{
fprintf(stderr, "impossible de lier le system a un canal= %s\n", SDL_GetError());
}
if(FMOD_ChannelGroup_GetPaused(canal, &etat)){
fprintf(stderr, "recuperation de letat de la chanson reussi : %d",etat);
}else
{
fprintf(stderr, "impossible de lire letat de la chanson= ");
}
if (etat) // Si la chanson est en pause
FMOD_ChannelGroup_SetPaused(canal, 0); // On enlève la pause
else // Sinon, elle est en cours de lecture
FMOD_ChannelGroup_SetPaused(canal, 1); // On active la pause
mon fichier chargerSon.cpp:
void chargerSon(char titre[],FMOD_SYSTEM *system)
{
/** gestion du son **/
FMOD_SOUND *pSon;
FMOD_RESULT resultat;//pr récupérer le resultat du chargement du son
FMOD_System_Create(&system);//allocation en memoire de l'objet system
FMOD_System_Init(*&system, 1, FMOD_INIT_NORMAL, NULL);//initialisation(objet system,nbSon, flag, extradriverdata)
resultat = FMOD_System_CreateSound(*&system, titre, FMOD_SOFTWARE | FMOD_2D | FMOD_CREATESTREAM, 0, &pSon);//(objet system, mon son,type de son(court=FMOD_CREATESAMPLE),null??, pointeur)
if (resultat != FMOD_OK)
{
fprintf(stderr, "Impossible de lire le mp3\n");
exit(EXIT_FAILURE);
}
FMOD_System_PlaySound(*&system, FMOD_CHANNEL_FREE, pSon, 0, NULL);
}
lorsque je met le corps de ma fonction chargerSon() dans mon fichier.cpp sa fonctionne, je pense que mon erreur est au moment où je passe system en paramètre à ma fonction mais j'aimerais bien être aiguiller s'il vous plait
merci