2013-09-30 2 views
0

FMOD, Visual Studio 2012 및 C++를 사용하여 광산의 응용 프로그램에 사운드를 추가하려고합니다. 나는 최신 버전 (1.02)을 가지고 그것을 설치했다. 모든 것이 잘 작동하는 것처럼 보이지만 FMOD_CHANNEL_FREE 및 FMOD_CHANNEL_REUSE와 같은 (varibles?)는 정의되지 않습니다. 내가 말한 모두는이 문제가 있었고 결코 해결하지 못했고 온라인에있는 모든 사람들은이 이슈를 갖고있는 것 같지 않았습니다. 또 다른 주목할 점은 playSound의 매개 변수가 전환되었다는 것입니다. 나를 위해 : 다른 곳FMOD_CHANNEL_FREE가 정의되지 않았습니다. fmod의 다른 버전입니까?

system->playSound(sound->second, FMOD_CHANNEL_FREE, false, 0); 

system->playSound(FMOD_CHANNEL_FREE, sound->second, false, 0); 

나는, 설치 지침에 따라 fmod.hpp 및 fmod_errors.h, 제거, 다시 설치를 포함하고, 구글은 나를 실패했습니다. channel_free 지점에 필요한 매개 변수가 FMOD :: ChannelGroup 인 경우 도움이된다면

아이디어가 있으십니까? 더 많은 코드가 필요한 경우 댓글 (답이 아닌)을 입력하면 내가 따르 겠어.

답변

0

그들은 전환되지 않습니다. 헤더 파일을 보셨습니까? 두 번째 매개 변수는 채널 그룹에 대한 포인터이며 정수를 전달하려고합니다.

자유/재사용 플래그가 사라지면 삭제하십시오. 내부 채널은 항상 '무료'입니다.

+0

당신은 작동시 소리의 예를 들어 주실 수 있습니까? – user2832863

2

FMOD Ex에서 FMOD Studio로 변경되면서 일부 API가 개정되었습니다. 이러한 경우 중 하나입니다. System :: playSound의 FMOD Ex 버전의 첫 번째 매개 변수가 제거되었으므로 기본 동작은 항상 FMOD_CHANNEL_FREE입니다.

새로운 두 번째 매개 변수는이 채널을 재생할 FMOD :: ChannelGroup을 지정하기위한 것입니다. 마스터 채널 그룹에서 사운드를 재생할 때 FMOD Ex 동작을 원하면 NULL을 지정해야합니다.

FMOD 스튜디오

올바른 사용법은 다음과 같습니다

FMOD::System *system = NULL; // create and init not shown 
FMOD::Sound *sound = NULL; // create not shown 

FMOD::Channel *channel = NULL; 
FMOD_RESULT result = system->playSound(sound, NULL, false, &channel);