2011-11-21 6 views
3

J'essaye de configurer mon Sound Manager (FMOD) pour jouer une musique de fond et d'autres sons d'action sur différents canaux, car je comprends que c'est la seule façon d'avoir des sons simultanés avec FMOD .... Ma configuration est ci-dessous , si j'appelle playRepeat puis playOnce la première piste s'arrête!FMOD - joue plusieurs sons simultanément?

void SoundMgr::addSound(char *path, string n){ 
    Sound* s; 
    fmodsys->createSound(path, FMOD_SOFTWARE | FMOD_2D | FMOD_CREATESTREAM, 0, &s); 


    soundMap.insert(pair<string,Sound*>(n, s)); 
} 

void SoundMgr::playOnce(string name){ 

    fmodsys->playSound(FMOD_CHANNEL_FREE, 
     soundMap.find(name)->second, true, &fmodchn); 
    fmodchn->setPosition(0, FMOD_TIMEUNIT_PCM); 
    fmodchn->setPaused(false); 
} 

void SoundMgr::playRepeat(string name){ 

    fmodsys->playSound(FMOD_CHANNEL_FREE, 
     soundMap.find(name)->second, true, &backChn); 
    backChn->setMode(FMOD_LOOP_NORMAL); 
    backChn->setPosition(0, FMOD_TIMEUNIT_PCM); 
    backChn->setPaused(false); 

} 

... malgré le fait que je suis en train d'utiliser deux canaux séparés .... ai-je oublié quelque chose?

Répondre

4

La question était que je n'INITIALISATION FMOD avec un canal

fmodsys->init(1,FMOD_INIT_NORMAL,0); 

Changement que pour un nombre plus élevé a la configuration ci-dessus travail ok!