2014-09-08 4 views
0

마지막으로, 나는 playSound를 오류없이 실행할 수 있었지만 지금은 소리가 들리지 않습니다.FMOD 소리가 들리지 않습니다.

SoundEngine, 시간

#ifndef SOUNDENGINE_H_ 
#define SOUNDENGINE_H_ 

#include "FMOD/inc/fmod.hpp" //fmod c++ header 
//#include "FMODEX/inc/fmodlinux.h" 

class SoundEngine{ 
public: 
    bool initSystem(void); 
    void update(void); 
private: 
    //FMod Stuff 
     FMOD_SYSTEM  *system; //handle to FMOD engine 
     FMOD_SOUND  *sound1, *sound2; //sound that will be loaded and played 
     FMOD_CHANNELGROUP *channels; 
}; 

그리고 SoundEngine.cpp

#include "SoundEngine.h" 
#include <iostream> 
using namespace std; 
FMOD_RESULT result; 
bool SoundEngine::initSystem() 
{ 
    result = FMOD_System_Create(&system); 
    unsigned int version; 
    cout<<result<<endl; 
    result = FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, NULL); 
    cout<<result<<endl; 

    cout<<"Sonido"<<endl; 
    //load sounds 
    result = FMOD_System_CreateSound(system, "Media/NMG.mp3", FMOD_CREATESAMPLE, 0, &sound1); 
    cout<<result<<endl; 
    result = FMOD_System_CreateChannelGroup(system,"canal",&channels); 
    cout<<result<<endl; 
    result = FMOD_System_PlaySound(system, sound1,channels, 1, NULL); 
    cout<<result<<endl; 
    //FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE,) 
    //sound1->setMode(FMOD_LOOP_OFF); /* drumloop.wav has embedded loop points which automatically makes looping turn on, */ 

    /* so turn it off here. We could have also just put FMOD_LOOP_OFF in the above CreateSound call. */ 
    //system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0); 
    cout<<"Sonido"<<endl; 
    return true; 
} 

나는 그것이 맞습니다과 사운드를 재생해야한다고 생각하지만, 내가 anying 들리지 않습니다 (내가 설정 컴퓨터 볼륨을 켜고 작동). 내가 사용해야 할 다른 방법이 있습니까?

모든 프레임에서 FMOD_System_Update()도 사용합니다.

편집 : 나는 또한 initSystem의 methor 내부

while(true) FMOD_System_Update(); 

을 넣어 시도했지만 작업을 나던.

답변

0

문제는, 1 (또는 True)로 설정되는 다음 행

result = FMOD_System_PlaySound(system, sound1,channels, 1, NULL); 

번째 마지막 파라미터 '일시 정지'되어있을 false로 설정할 것이다.

관련 문제