- 创建AudioManager类,该类一般使用单例实现,方便后续在其它地方调用。
- 场景中创建一个空物体挂载该类,该物体下创建两个物体分别挂载AudioSource组件 一个用于Music 一个用于SFX
- 类中需要定义这两个AudioSource并赋值。
- AudioManager两个方法,一个用于播放Music 一个用于播放SFX,通过单例调用。
- 音频配置,可通过数组定义出来(AudioClip[]),但是调用时不清晰。可以通过创建自定义类Sound,配置音频信息(音频名字,音频片段,是否循环等)等,创建公开数组(Sound[]),配置音频信息,对播放方法作更改,调用时可以通过音频名字,也可配置参数等。
- 控制音量,可以通过AudioSource自带API创建不同方法,给UI中的Slider或Toggle赋方法 滑动调节音量,静音等
示例场景 SoundDemo1 SoundDemo2
- 与第一种前5步基本相同,在音频设置上有所不同。
- 创建AudioMixer,在Group下创建Music和SFX子组,并在AudioSource组件下的Output中分别选中该子组。

- 音频的独奏,静音,旁路,音量管理都可在AudioMixer中设置。AudioMixer此时有Master Music SFX组分别控制总的音频,Music,SFX源。
- 此外AudioMixer中还可以设置音频效果等 例:当SFX播放时,背景音乐音量变小。
- 如何在脚本中设置AudioMixer的参数?设置音量滑条,静音按钮等
-
音量设置时需要注意:AuidoMixer中的音量范围为-80db-20db,而Slider默认值为0-1。不可以直接赋值,需要进行换算。
public void SetMusicVolume() { float volume = musicSlider.value; myMixer.SetFloat("Music", Mathf.Log10(volume) * 20);//Slider值和AudioMixer转换 PlayerPrefs.SetFloat("musicVolume", volume); }
- 保存和加载音频设置,使用PlayPrefs,存储相关参数,初始化中判断和加载。
示例场景 SoundDemo3




