játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5511
FZoli:    4894
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2529

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2198
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
FMOD 2006.07.21 11:17







Azt hiszem inkább lesz ez tutorial, mint cikk. A kódsorban a kommentek szerintem mindenki számára érthetőek, ha valakinek mégsem az nyugodtan szóljon, vagy szidalmazzon, hogy miért nem írok normális cikket. Nos, erre igen egyszerű a válasz: mivel nem tudok. Úgyhogy inkább hagyom, hogy a kód beszéljen helyettem. || jah még annyit hozzáteszek, hogy egy kis C++ nem árt hozzá, és a kód MSVC++ 6.0-ban íródott...




FMOD_H
#ifndef fmod_h
#define fmod_h

//---------------------------------------------------------------------------
#include "headers.h"

//#include "fmodfmod_errors.h"

#include "fmodfmod.h"

#include "fmodwincompat.h"

//------------------------------FmodStart------------------------------------
class FmodStart
// fmod-ot indító fv-ek
{

protected:
FSOUND_SAMPLE *mp3_stream;
// NULL
public:
FmodStart()
{
mp3_stream = NULL;
}
//konstruktor

void fmodinit();
// Inicializálás

void fmodplay(const char *string, int channel, int volume, bool loop);
// hang lejátszása

~FmodStart()
{
//delete mp3_stream;
}
// destruktor
};

//---------------------------------------------------------------------------
// FmodStop(): public FmodStart _ // protected: *mp3_stream
//---------------------------------------------------------------------------

//------------------------------FmodStop-------------------------------------

class FmodStop: public FmodStart
// fmod-ot leállító fv-ek
{
public:
FmodStop(): FmodStart() {}
// konstrukor

void fmodstop(int channel);
// adott "csatorna" megállítása

void fmodoff();
// fmod lealállítása

~FmodStop(){}
// destruktor
};

// - -
#endif




FMOD_CPP
//---------------------------------------------------------------------------
#include "fmod.h"

//------------------------------FmodStart------------------------------------
void FmodStart::fmodinit()
{
if( FSOUND_Init(44000,64,0) == false )
// az fmod inicializálása 44000 Hz-en, 64 csatornával
// ha nem sikerül akkor kilép a program

{
MessageBox(NULL,"Nem sikerült a hangot inicializálni","HIBA",MB_OK | MB_ICONINFORMATION);
PostQuitMessage(0); // kilépés
}
}

//------------------------------FmodStart------------------------------------
void FmodStart::fmodplay(const char *string, int channel, int volume, bool loop)
{
mp3_stream = FSOUND_Sample_Load( channel, string , FSOUND_2D , 0 , 0 );
// állomány betöltése, adott "csatornára"

if(!mp3_stream)
// hibaszűrés
{
MessageBox(NULL,"Nincs meg valamelyik hangfile!","HIBA",MB_OK | MB_ICONINFORMATION);
PostQuitMessage(0); // kilépés
}

channel = FSOUND_PlaySound(FSOUND_FREE,mp3_stream);
// "csatorna" szerinti hanglejátszás

if (loop == true)
// folyamatosan isméltlődő hang?
{
FSOUND_SetLoopMode(channel,FSOUND_LOOP_NORMAL);
}

FSOUND_SetVolume(channel, volume);
// hangerő beállítása
}

//---------------------------------------------------------------------------
// FmodStop(): public FmodStart _ // protected: *mp3_stream
//---------------------------------------------------------------------------

//------------------------------FmodStop-------------------------------------

void FmodStop::fmodstop(int channel)
{
FSOUND_StopSound(channel);
// adott "csatornát" állít meg
}

//------------------------------FmodStop-------------------------------------
void FmodStop::fmodoff()
{
FSOUND_Close();
// fmod leallítása
}




Nah ... Szal ennyi lett volna, nem áldoztam rá sok időt csak CTRL+C és CTRL+V -ztem egyet.... remélem azért segítséget nyújtottal azoknak akik hangot szeretnének lejátszani, egyzserűen...

Értékelés: 0

Új hozzászólás
balogh9          2006.07.26 09:37
hát az épp a main.cpp-ben van
de ez igaz.. elfelejtettem beletenni...
egyébként mindösszesen ennyi:
-> #pragma comment( lib, "fmod.lib"
Orphy          2006.07.26 09:09
Hello,

így elsőre hiányolom a lib-eket, sehol nem látok egy pragma-t, se egy .lib kiterjesztést...
Azért írom, mert emlékeim szerint ebből volt a legtöbb probléma.

Üdv,