如何在 Unity 中从混音器的音量设置滑块的音量?

问题描述 投票:0回答:3

我有

audioMixerGroup.audioMixer.GetFloat("AllVolume", out tmp);
tmp 将具有 db 中的体积。我想将 db (-80, 0) 转换为滑块的值 (0, 1)。

简而言之,我需要做How to set a Mixer's volume to a slider's volume in Unity?恰好相反

c# unity3d audio uislider mixer
3个回答
3
投票

您可以创建一个

Remap
函数:

float Remap(float value, float min1, float max1, float min2, float max2) 
{
    return min2 + (value - min1) * (max2 - min2) / (max1 - min1);
}

实施:

audioMixerGroup.audioMixer.GetFloat("AllVolume", out tmp);
slider.value = Remap(tmp, -80f, 0f, 0f, 1f);

0
投票

设置音量时,您将使用以下代码:

Mathf.Log10(value) *20;

你需要的是逆:

Mathf.Pow(10, (value/20);

0
投票

当您需要使用 tmp 变量时,我会执行以下操作:

(tmp + 80f) * 0.01f
© www.soinside.com 2019 - 2024. All rights reserved.