Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Audio > FMod / FModEx
FMod / FModEx Forum d'entraide sur les API de Firelight Technologies : FMod et FModEx
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/06/2012, 01h17   #1
Theo13
Invité de passage
 
Homme
Étudiant
Inscription : juin 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 1
Points : 1
Points : 1
Par défaut [FMOD] Impossible de lire un fichier en boucle

Bonjour,

La fonction de FMOD qui est censée jouer ma musique en boucle ne marche pas. Le reste marche bien, le son est joué, mais une seule fois. Est-ce que quelqu'un aurait la solution ? Merci !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "SDL/SDL_ttf.h"
#include "fmodex/fmod.h"
 
void    events()
{
  SDL_Event event;
  int   continuer;
 
  continuer = 1;
  while (continuer)
    {
      SDL_WaitEvent(&event);
      switch(event.type)
	{
        case SDL_QUIT:
          continuer = 0;
          break;
        case SDL_KEYDOWN:
          switch (event.key.keysym.sym)
            {
            case SDLK_ESCAPE:
              continuer = 0;
              break;
            default:
              break;
            }
          break;
        default:
          break;
        }
    }
}
 
typedef struct s_music
{
  FMOD_SYSTEM   *system;
  FMOD_SOUND    *music;
  FMOD_RESULT   result;
} t_music;
 
void    music(char *path, t_music *m)
{
  FMOD_System_Create(&m->system);
  FMOD_System_Init(m->system, 1, FMOD_INIT_NORMAL, NULL);
  m->result = FMOD_System_CreateSound(m->system, path, FMOD_SOFTWARE
                                      | FMOD_2D | FMOD_CREATESTREAM, 0, &m->music);
  if (m->result != FMOD_OK)
    printf("unable to load music file.\n");
  FMOD_Sound_SetLoopCount(m->music, -1);
/* c'est la ligne du dessus qui est censée jouer la musique en boucle */
  FMOD_System_PlaySound(m->system, FMOD_CHANNEL_FREE, m->music, 0, NULL);
}
 
void    music_close(t_music *m)
{
  FMOD_Sound_Release(m->music);
  FMOD_System_Release(m->system);
  FMOD_System_Close(m->system);
}
 
int     main(int ac __attribute__((unused)), char **av __attribute__((unused)))
{
  t_music m;
 
  if (SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTTHREAD) == -1)
    printf("SDL error: %s\n", SDL_GetError());
  music("jaguar.wav", &m);
  events();
  music_close(&m);
  SDL_Quit();
  return (0);
}
EDIT : Résolu, il fallait ajouter FMOD_LOOP_NORMAL à FMOD_System_CreateSound();
Theo13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h14.


 
 
 
 
Partenaires

Hébergement Web