Monday, November 20, 2006

dsound note

Как менять громкость звука в DirectSound линейно, а не экспоненциально? Очень просто!

void SetVolume(double vol)
{
double dbVol = 20 * log10(clamp(vol, 1e-3f, 1.0f));
pSndBuffer->SetVolume(dbVol * 100);
}

Таким образом, меняя vol от 0 до 1, получаем линейное изменение громкости звука.

No comments: