Unity实现获取Windows系统声音并实现可视化

  1. 效果
    请添加图片描述

  2. 简介
    该项目通过使用CSCore.dll来获取Windows系统声音的输出。并使用Rhythm Visualizator Pro 2.2b插件来实现上面的效果。

  3. 脚本简介(这里就只介绍一些重要的脚本,具体大家可以查看最后的项目分享)
    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
该脚本用来实现场景里面的所有的效果(加了一些注释,其他的太麻烦了,就不详细描述了)

  1. 打包设置

需要将API改为 .NET 4.X,否则获取不了系统声音的输出

  1. 项目分享(该项目的版本为Unity 2019.4.9)
    12138-yhz/Audio-Visualizer (github.com)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值