Merge pull request #1386 from Frank-74/patch-1

Fix Volume control
This commit is contained in:
zilmar 2017-09-29 10:36:59 +10:00 committed by GitHub
commit adfe3db99a
1 changed files with 11 additions and 5 deletions

View File

@ -132,10 +132,16 @@ void DirectSoundDriver::SetFrequency(uint32_t Frequency)
void DirectSoundDriver::SetVolume(uint32_t Volume)
{
/*DWORD dsVolume = ((DWORD)Volume * -25);
if (Volume == 100) dsVolume = (DWORD)DSBVOLUME_MIN;
if (Volume == 0) dsVolume = DSBVOLUME_MAX;
if (lpdsb != NULL) lpdsb->SetVolume(dsVolume);*/
LPDIRECTSOUNDBUFFER & lpdsb = (LPDIRECTSOUNDBUFFER &)m_lpdsb;
int32_t dsVolume = - 10 ^ ((100 - Volume) * 33);
if (Volume == 0)
{
dsVolume = DSBVOLUME_MIN;
}
if (lpdsb != NULL)
{
lpdsb->SetVolume(dsVolume);
}
}
void DirectSoundDriver::SetSegmentSize(uint32_t length, uint32_t SampleRate)
@ -278,4 +284,4 @@ void DirectSoundDriver::AudioThreadProc()
lpdsbuf->Stop();
}
WriteTrace(TraceAudioDriver, TraceDebug, "Audio Thread Terminated...");
}
}