【发布时间】:2018-03-13 17:44:18
【问题描述】:
我正在尝试进行一些音频设置。这是我的脚本:
public AudioMixer masterMixer;
public float masterLvl;
public float musicLvl;
public float sfxLvl;
public void SetMasterVolume ()
{
masterLvl = masterVolumeSlider.value;
masterMixer.SetFloat("masterVol", masterLvl);
}
public void SetMusicVolume()
{
musicLvl = musicVolumeSlider.value;
masterMixer.SetFloat("musicVol", musicLvl);
}
public void SetSfxVolume()
{
sfxLvl = sfxVolumeSlider.value;
masterMixer.SetFloat("sfxVol", sfxLvl);
}
它有所有的 OnValueChanged();滑块上的东西。我只是想知道为什么这不起作用。谢谢。
编辑:所以事情是它改变了 dB,而不是音量。新问题是:如何让它改变音量而不是 dB?
【问题讨论】:
-
顺便说一句,我在控制台中没有任何错误。一切都已分配并正常工作。
-
当您设置断点并进行调试时,有问题的代码会被命中吗?
-
将
Debug.Log放入每个函数中,看看它们是否被调用...... -
我确实说过。有用。此外,当我滑动 musicVolumeSlider 时,它会使音量在一个实例中增大,但不会再次减小。它根本没有改变。 (背景音乐音量)
-
另外,我所有的滑块最大值都等于 1,即使音量也是 1,我的音量仍然会上升。
标签: c# unity3d audio uislider mixer