Как менять громкость звука в DirectSound линейно, а не экспоненциально? Очень просто!
void SetVolume(double vol)
{
double dbVol = 20 * log10(clamp(vol, 1e-3f, 1.0f));
pSndBuffer->SetVolume(dbVol * 100);
}
Таким образом, меняя vol от 0 до 1, получаем линейное изменение громкости звука.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment