ProjectEli / BMS_Eli

BMS player : C# + Monogame + IrrKlang with VS2015
http://projecteli.tistory.com/
1 stars 1 forks source link

fmod를 응용한 사운드 재생에 관심 있나요? #1

Open AquaRains opened 4 years ago

AquaRains commented 4 years ago

FMOD::Studio::System* system FMOD::Studio::System::create(&system) 이걸로 API 활성화 시키고,

fmod api 가이드 링크

result = FMOD::System_Create(&system);      // Create the main system object.
if (result != FMOD_OK)
{
    printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result));
    exit(-1);
}

result = system->init(512, FMOD_INIT_NORMAL, 0);    // Initialize FMOD.
if (result != FMOD_OK)
{
    printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result));
    exit(-1);
}

호출 후 result 값으로 분기점 나누는건 약간 C 스타일같긴 함.

  1. CreateSound로 사운드 인스턴스 생성
  2. PlaySound 로 channel 리턴 받기(여기서 바로 재생할건지 여부도 설정 가능)
  3. ChannelControl로 channel에 탑재된 sound 재생 상태 변경 가능 (이걸로 키음 구현 가능하지 않을지? keydown 이벤트 비슷한거에다가 저거 연결하면 될듯)
AquaRains commented 4 years ago

래퍼클래스는 생성만 해놓고 필요한 api 있을때 추가해서 쓰면 그나마 좀 덜 귀찮지 않으려나?