-
效果
-
简介
该项目通过使用CSCore.dll来获取Windows系统声音的输出。并使用Rhythm Visualizator Pro 2.2b插件来实现上面的效果。 -
脚本简介(这里就只介绍一些重要的脚本,具体大家可以查看最后的项目分享)
LoopbackAudio
该脚本用来获取电脑系统声卡的输出数据
public class LoopbackAudio : MonoBehaviour
{
private RealtimeAudio _realtimeAudio;
//声卡中的数据
public float[] SpectrumData;
//采集数据的个数
public int SpectrumSize;
private void Awake()
{
SpectrumData = new float[SpectrumSize];
_realtimeAudio = new RealtimeAudio(SpectrumSize, (spectrumData) =>
{
// Raw
SpectrumData = spectrumData;
});
}
void Start()
{
Debug.Log("开始!");
//开始监听
_realtimeAudio.StartListen();
}
public void OnApplicationQuit()
{
//停止监听
_realtimeAudio.StopListen();
}
// Update is called once per frame
void Update()
{
}
public float GetSpectrumData(int index = 0)
{
return SpectrumData[index];
}
}
RhythmVisualizatorPro
该脚本用来实现场景里面的所有的效果(加了一些注释,其他的太麻烦了,就不详细描述了)
- 打包设置
需要将API改为 .NET 4.X,否则获取不了系统声音的输出
- 项目分享(该项目的版本为Unity 2019.4.9)
12138-yhz/Audio-Visualizer (github.com)