媒体播放器.音量控制

本文关键字:音量控制 媒体播放器 | 更新日期: 2023-09-27 18:09:33

我有一个滑块,在那里我得到一个值从0到100来调整音量。媒体播放器。Volume期望的值在0.0和1.0之间,而0=-96db和1=-0db。目前,我使用以下代码来调整滑块的线性值:

 float newVolume = (float)(Math.Sqrt(sliderValue) / 10);
 newVolume = MathHelper.Clamp(newVolume, 0.0001f, 1.0f);
 MediaPlayer.Volume = newVolume;

这比直接将0映射到100值更有效,但在上半部分中,与下半部分相比,调整仍然相当低。有没有更好的解决办法?

媒体播放器.音量控制

这适用于我,其中'value'是从0到100

        value = MathHelper.Clamp(value, 0f, 100f);
        var logged = Math.Log(value + 1) / Math.Log(101);
        MediaPlayer.Volume = MathHelper.Clamp((float)logged, 0.001f, 1.0f);