首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaPlayer.Volume控件

MediaPlayer.Volume控件
EN

Stack Overflow用户
提问于 2011-09-22 19:05:35
回答 1查看 3.5K关注 0票数 1

我有一个滑块,我得到一个从0到100的值来调整音量。当0=-96db,1=-0db时,MediaPlayer.Volume应为0.0和1.0之间的值。目前,我使用以下代码从我的滑块调整线性值:

代码语言:javascript
复制
 float newVolume = (float)(Math.Sqrt(sliderValue) / 10);
 newVolume = MathHelper.Clamp(newVolume, 0.0001f, 1.0f);
 MediaPlayer.Volume = newVolume;

这比直接映射0到100值效果更好,但在较高的一半中,与较低的一半相比,调整仍然相当低。有没有更好的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2012-05-11 06:23:05

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

代码语言:javascript
复制
        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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7513746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档