2012-01-24 3 views
2

FMOD API를 사용하기 시작했으며 소리 재생에 문제가 있습니다. 나는이 사이트에서 튜토리얼을 사용했다 : http://glasnost.itcarlow.ie/~powerk/audio/AddFMODtoaproject.html 그리고 나는 단지 소리가 나고 있다고 생각한다.FMOD에서 단순한 사운드 재생

이 내 OpenGL을 초기화 함수에서 사용하고있는 코드는 다음과 같습니다

FMOD::System_Create(&system);// create an instance of the game engine 
system->init(32, FMOD_INIT_NORMAL, 0); 

system->createSound("sound.wav", FMOD_HARDWARE, 0, &sound1); 
sound1->setMode(FMOD_LOOP_OFF); 

system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0); 

사람이 무엇이 잘못되었는지 어떤 생각을 가지고 있습니까? 또는 mayby ​​거기에 다른 방법이 있습니다.

답변

5

먼저 모든 기능의 반환 코드를 확인하고 FMOD_OK인지 확인하십시오.

둘째, FMOD 하우스 유지를 위해 프레임 당 한 번씩 정기적으로 System :: update를 호출해야합니다.

문제와 관련하여 어떤 플랫폼을 사용하고 계십니까? 일반적으로 Crackling은 하드웨어가 계속 유지할 수 없다는 것을 의미합니다. FMOD가 버퍼링하는 양을 늘릴 수 있습니다. 이것은 System :: setDSPBufferSize를 통해 제어되며 numBuffers 수를 늘려보십시오. System :: getDSPBufferSize를 사용하여 현재 값을 확인할 수 있으며 System :: init 전에 System :: setDSPBufferSize를 호출하여 새 값을 적용해야합니다. 당신이 FMOD :: 시스템 :: 업데이트()를 호출하는 경우 나도 몰라

+0

버퍼와 연결 솔루션은 정말 helpfull했다 당 적어도 한 번이 호출해야합니다. 고맙습니다. – sebap123

1

은 .. 당신은 프레임

+0

FMOD 시스템을 업데이트합니다. 이것은 '게임'틱 당 한 번 또는 응용 프로그램의 프레임 당 한 번 호출해야합니다. 출처 : http://www.fmod.org/docs/content/generated/FMOD_System_Update.html – PALEN