#include #include #include #include #include #include #include class cAudio { ALuint Buffer; ALuint Source; char song[50]; public: void a2dLoad(); void a2dPlay(); void aKill(); }; void cAudio::a2dLoad(char song) { alutInit(NULL, 0); alGetError(); ALfloat SourcePos[] = { 0.0, 0.0, 0.0 }; ALfloat SourceVel[] = { 0.0, 0.0, 0.0 }; ALfloat ListenerPos[] = { 0.0, 0.0, 0.0 }; ALfloat ListenerVel[] = { 0.0, 0.0, 0.0 }; ALfloat ListenerOri[] = { 0.0, 0.0, -1.0, 0.0, 1.0, 0.0 }; ALenum format; ALsizei size; ALvoid* data; ALsizei freq; ALboolean loop; alGenBuffers(1, &Buffer); alutLoadWAVFile(song, &format, &data, &size, &freq, &loop); alBufferData(Buffer, format, data, size, freq); alutUnloadWAV(format, data, size, freq); alGenSources(1, &Source); alSourcei (Source, AL_BUFFER, Buffer ); alSourcef (Source, AL_PITCH, 1.0 ); alSourcef (Source, AL_GAIN, 1.0 ); alSourcefv(Source, AL_POSITION, SourcePos ); alSourcefv(Source, AL_VELOCITY, SourceVel ); alSourcei (Source, AL_LOOPING, loop ); alListenerfv(AL_POSITION, ListenerPos); alListenerfv(AL_VELOCITY, ListenerVel); alListenerfv(AL_ORIENTATION, ListenerOri); } void cAudio::a2dPlay() { alSourcePlay(Source); } void cAudio::aKill() { alDeleteBuffers(1, &Buffer); alDeleteSources(1, &Source); alutExit(); }