#include "inc/fmod.h"
#include "inc/fmod_errors.h"
...
//FMODEX
FMOD_RESULT fr;
FMOD_SYSTEM *fsys;
FMOD_SOUND *fs;
FMOD_CHANNEL *fc;
unsigned int ver;
/*==============================================================================
= ERRCHECK : Traitement Des Erreurs d'utilisations De FMODEX...
==============================================================================*/
BOOL ERRCHECK(FMOD_RESULT result)
{
MSGBOXPARAMS mbp;
if(result != FMOD_OK)
{
ZeroMemory(&mbp, sizeof(MSGBOXPARAMS));
mbp.cbSize = sizeof(MSGBOXPARAMS);
mbp.dwStyle = MB_USERICON;
mbp.hInstance = g_hInst;
mbp.hwndOwner = g_hwnd;
mbp.lpszIcon = MAKEINTRESOURCE(IDI_APPICON);
mbp.lpszCaption = " HMedia...";
mbp.lpszText = FMOD_ErrorString(fr);
MessageBoxIndirect(&mbp);
}
ZeroMemory(&mbp, sizeof(MSGBOXPARAMS));
return TRUE;
}
/*==============================================================================
= InitFMODSound : Initialisation de FMOD_Sound..
==============================================================================*/
BOOL InitFMODSound(char* lpFile)
{
fr = FMOD_System_Create(&fsys);
ERRCHECK(fr);
fr = FMOD_System_Init(fsys, 32, FMOD_INIT_NORMAL,0);
ERRCHECK(fr);
fr = FMOD_System_CreateSound(fsys, szFileName, FMOD_SOFTWARE
|FMOD_CREATECOMPRESSEDSAMPLE|FMOD_UNIQUE|FMOD_2D,0,&fs);
ERRCHECK(fr);
fr = FMOD_System_PlaySound(fsys, FMOD_CHANNEL_FREE, fs, 0, &fc);
ERRCHECK(fr);
return TRUE;
}
// Utiliser aussi : FMOD_Channel_SetPaused(fc,0);
// FMOD_Channel_GetPosition(fc,&nPos,FMOD_TIMEUNIT_MS);
// et a la fin:
FMOD_Sound_Release(fs);
FMOD_System_Close(fsys);
FMOD_System_Release(fsys);
// Voir HMEDIA sur cppfrance.