00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "soundstreamfmod.h"
00023
00024 SoundStreamFMOD::SoundStreamFMOD(kerosin::SoundServer &inServer) :
00025 SoundStream(inServer), mHandle(NULL), mBuffer(NULL)
00026 {
00027 }
00028
00029 SoundStreamFMOD::~SoundStreamFMOD()
00030 {
00031 delete[] mBuffer;
00032 if(mHandle != 0)
00033 {
00034 FSOUND_Stream_Close(mHandle);
00035 }
00036 }
00037
00038 void SoundStreamFMOD::Load(const std::string& inName)
00039 {
00040 mHandle = FSOUND_Stream_Open(inName.c_str(), FSOUND_LOOP_NORMAL, 0, 0);
00041 SetFileName(inName);
00042 }
00043
00044 void SoundStreamFMOD::Load(void *inBuffer, int inSize)
00045 {
00046 mBuffer = (char*)inBuffer;
00047 mHandle = FSOUND_Stream_Open((const char *) mBuffer, FSOUND_LOADMEMORY, 0, inSize);
00048 }
00049
00050 void SoundStreamFMOD::Play()
00051 {
00052 if(mHandle != 0)
00053 {
00054 FSOUND_Stream_Play(FSOUND_FREE, mHandle);
00055 }
00056 }