2011-11-21 16 views
3

私はFMODでサウンドを同時に鳴らす唯一の方法であることを理解しているので、バックグラウンドミュージックや他のアクションサウンドを別のチャンネルで再生するようにSound Manager(FMOD)を設定しようとしています。私がplayRepeatと呼んでplayOnceと言ったら、最初のトラックが止まる!FMOD - 複数のサウンドを同時に再生できますか?

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); 

} 

...私が2つの別個のチャネルを使用しているにもかかわらず... ....私は何か不足していますか?

答えて

4

問題は、私だけ大きい数字には、[OK]作業上記の設定をしたことを変える一つのチャンネル

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

でFMODを初期化されたということでした!