name | The name of an exposed Audio Mixer group parameter. To expose a parameter, go to the Audio Mixer group's Inspector window, right click the parameter you want to expose, and choose Expose [parameter name] to script. |
value | Use to set the exposed Audio Mixer group parameter to a new value. |
bool 如果未找到暴露参数或快照处于编辑状态,则返回 false。
Sets the value of the exposed parameter specified. When a parameter is exposed, it is not controlled by mixer snapshots. You can only change the parameter with this function.
Note: Don’t call AudioMixer.SetFloat in the following event functions as it can result in unexpected behavior: MonoBehaviour.Awake OnEnable RuntimeInitializeLoadType.AfterSceneLoad Instead, call AudioMixer.SetFloat in MonoBehaviour.Start or any event function Unity calls afterwards in the order of event function execution.
using System; using UnityEngine; using UnityEngine.Audio;
public class MixerVolumeController : MonoBehaviour { // The range of the volume slider on a mixer group const float minVolume = -80f; const float maxVolume = 20f;
public AudioMixer mixer;
[Range(minVolume, maxVolume)] public float volume;
float previousVolume;
void Update() { volume = Mathf.Clamp(volume, minVolume, maxVolume);
// Sets the exposed parameter "volume" in the audio mixer, // In this example the parameter is assumed to be the volume of a mixer group. // It could be any other exposable mixer parameter. if (!Mathf.Approximately(volume, previousVolume)) { mixer.SetFloat("volume", volume); }
previousVolume = volume; }
void OnGUI() { GUILayout.BeginHorizontal(); GUILayout.Label("Mixer volume"); var newVolume = GUILayout.HorizontalSlider(volume, minVolume, maxVolume, GUILayout.Width(300));
if (!Mathf.Approximately(newVolume, previousVolume)) { volume = newVolume; mixer.SetFloat("volume", volume); }
GUILayout.EndHorizontal(); } }