Game Development Reference
In-Depth Information
return m_Sample;
}
bool DirectSoundAudioBuffer::VPlay(int volume, bool looping)
{
if(!g_Audio->VActive())
return false;
VStop();
m_Volume = volume;
m_isLooping = looping;
LPDIRECTSOUNDBUFFER pDSB = (LPDIRECTSOUNDBUFFER)VGet();
if (!pDSB)
return false;
pDSB->SetVolume( volume );
DWORD dwFlags = looping ? DSBPLAY_LOOPING : 0L;
return (S_OK==pDSB->Play( 0, 0, dwFlags ) );
}
bool DirectSoundAudioBuffer::VStop()
{
if(!g_Audio->VActive())
return false;
LPDIRECTSOUNDBUFFER pDSB = (LPDIRECTSOUNDBUFFER)VGet();
if( pDSB )
return false;
m_isPaused=true;
pDSB->Stop();
return true;
}
bool DirectSoundAudioBuffer::VResume()
{
m_isPaused=false;
return VPlay(VGetVolume(), VIsLooping());
}
bool DirectSoundAudioBuffer::VTogglePause()
{
if(!g_Audio->VActive())
return false;
Search WWH ::




Custom Search