틀린그림찾기를 만들려고 하는 중인데요.. 배경음악을 실행시키는데 여기서 무한루프를 줬거든요.,.
배경음악이 계속 실행될 수 있도록이요.. 거기서 문제요 ㅠㅠ.. 게임이 실행되려면 사용자 입력값을
처리해야하여서 배경음악은 음악대로 계속 플레이 되고 사용자 인풋은 앞에서 처리하여주고 그렇게
해야 할 것같은데.. setcallback 함수를 사용하라고 하더라구요..
그런더 ㅠㅠ.. 어찌 해야할지 잘 몰라서요.. 플래그값이나.. 어디에서 넣어줘야 할지;;
setcallback을 쓰느게 맞으면 우째 써야하는지좀 알려주세요 ㅠㅠ.
#include "GameMain.h"
void d3d::ErrCheck(FMOD_RESULT result)
{
if ( result != FMOD_OK )
{
printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result));
exit(-1);
}
}
void d3d::SoundLoop()
{
while(1)//무한루프가 되면 프로그램이 종료 되지 않습니다.
{
if(kbhit()) break;
Sleep(20);
}
}
int d3d::CreateSound()
{
struct tagSound
{
FMOD::Channel *Channel;
FMOD::Sound *Sound;
};
FMOD_RESULT result;
FMOD::System *system;
result = FMOD::System_Create(&system); // System Object 생성
d3d::ErrCheck(result);
result = system->init(100, FMOD_INIT_NORMAL, 0); // 초기화
d3d::ErrCheck(result);
result = system->release(); // 해제
d3d::ErrCheck(result);
FMOD::System_Create(&system);
system->init(100, FMOD_INIT_NORMAL, 0);
tagSound* SoundStruct;
SoundStruct = new tagSound[3];
system->createStream("03.mp3", FMOD_HARDWARE | FMOD_LOOP_OFF | FMOD_2D, NULL, &SoundStruct[0].Sound);
system->playSound(FMOD_CHANNEL_REUSE, SoundStruct[0].Sound, false, &SoundStruct[0].Channel);
d3d::SoundLoop();
unsigned int pLenth = 0;
SoundStruct[0].Sound->getLength(&pLenth, FMOD_TIMEUNIT_MS);
system->close();
system->release();
return 1;
}
FMOD에서요~
Moderator: 류광
그 방법을 몰라서요.,.,
어떤분은 setcallback을 쓰라구 하구..
DIRECTXSOUND로 하려다가 FMOD가 더 낫다그래서 이걸로 해보려고 첨 접하는거거든요,.,
그래서 좀 이해가 안가요 ㅠㅠ.. 예제를 잘 설명해 놓은곳도 드물고 해서요..
스트리밍할떄 어떻게 해야하는지나 플러그값은 어떻게 줘야하는지가 막막해서요 - 0-
초보랍니다;;
DIRECTXSOUND로 하려다가 FMOD가 더 낫다그래서 이걸로 해보려고 첨 접하는거거든요,.,
그래서 좀 이해가 안가요 ㅠㅠ.. 예제를 잘 설명해 놓은곳도 드물고 해서요..
스트리밍할떄 어떻게 해야하는지나 플러그값은 어떻게 줘야하는지가 막막해서요 - 0-
초보랍니다;;