J'ai un soucis avec FMODex, l'api Audio crossplateforme.
Je voudrais changer le LOOP_MODE en cours de lecture.
Ca n'est pas possible, il faut relancer la lecture du son à chaque fois pour actualiser :
1. le loop mode
2. les bornes de la boucle
Pour l'instant je fais un truc vraiment moche, qui laisse entendre un click :
1. je stoppe la lecture
2. je change le mode de bouclage
3. je remets le channel en position ou j'ai stoppé
4. je relance la lecture
évidemment là ca marche, mais c'est nul, et ca s'entend
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 unsigned int x; channel[0]->getPosition(&x, FMOD_TIMEUNIT_MS);/// (!) la premiere piste s'impose sur le reste if(yes){ channel->stop(); sound->setMode(FMOD_LOOP_NORMAL); sound->setLoopPoints(startPoint, FMOD_TIMEUNIT_MS, endPoint, FMOD_TIMEUNIT_MS); system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel); channel->setPosition(x, FMOD_TIMEUNIT_MS); } else{ if(launched) {channel->getPosition(&x, FMOD_TIMEUNIT_MS);channel->stop();} sound->setMode(FMOD_LOOP_OFF); system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel); channel->setPosition(x, FMOD_TIMEUNIT_MS); }
Partager