Unity 实用技巧 之 音频优化,大大减少资源占用
1、打开Unity,新建一个空工程,具体如下图

2、在场景中新建两个Button按钮,用来控制背景音乐和音效播放,具体如下图

3、在工程中新建一个脚本“AudioManager”,然后打开脚本进行编辑,具体如下图


4、在打开的“AudioManager”脚本上编辑代码,首先设置变量接收音乐音频资源,并设置按钮变量,然后进行按钮事件监听,最后完成监听事件函数,具体代码及代码说明如下图

5、“AudioManager”代码具体内容如下:
using UnityEngine;
using UnityEngine.UI;
public class AudioManager : MonoBehaviour {
public AudioClip[] BGMusicArray;
public AudioSource BGMusicSource;
public AudioClip[] SFXSoundArray;
public AudioSource SFXSoundSource;
public Button PlayBGMusicBTn;
public Button PlaySFXSoundBtn;
// Use this for initialization
void Start () {
PlayBGMusicBTn.onClick.AddListener(PlayRandomBGMusic);
PlaySFXSoundBtn.onClick.AddListener(PlayRandomSFXSound);
}
void PlayRandomBGMusic() {
BGMusicSource.clip = BGMusicArray[Random.Range(0, BGMusicArray.Length)];
BGMusicSource.Play();
}
void PlayRandomSFXSound() {
SFXSoundSource.PlayOneShot(SFXSoundArray[Random.Range(0, SFXSoundArray.Length)]);
}
}
6、脚本编译OK后,回到Unity界面,在场景中新建一个“GameObject”,把脚本“AudioManager”发给它,具体如下图

7、在工程中新建两个文件夹,把背景音乐和特效音频导入进来,并分别赋给脚本变量,具体如下图

8、在“GameObject”下,在新建两个“GameObject”,分别重命名,然后添加“AudioSource”组件,然后把按钮和“AudioSource”赋给脚本变量,具体如下图


9、运行场景,然后通过“Window”-“Profile”,找到Audio性能面板,目前未优化前的音频资源占用内存情况,90多M,占用蛮大的,具体如下图

10、选中“BGMUSIC”文件夹下的所有音频资源,在右边的“Inspect”面板里,勾选上“Override XXXX”并把“Load Type”改为“Streaming”,然后“Apply”,具体如下图

11、再次运行场景,再次通过“Window”-“Profile”,找到Audio性能面板,现在优化后的音频资源占用内存情况,3M,大大减少了内存资源占用,具体如下图

12、到此,《Unity 实用技巧 之 音频优化,大大减少资源占用》讲解结束,谢谢