unity 音频组件自带提取频谱数据的方法:GetSpectrumData

于是复习一下ui布局:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;public class Visualizer : MonoBehaviour
{public AudioClip clip;public RectTransform imagePrefab = null;public FFTWindow windowType = FFTWindow.Rectangular;[Space(10)]public Transform labelPrefab;public Transform labelRoot;public int minHeight = 5;public int maxHeight = 540;public AudioSource audioSource;[Space(20),Range(64,8192)]public int dataLen = 64;/** 显示的频带数 */public int showLen = 80;public RectTransform[] cubes = { };// Start is called before the first frame updatevoid Start(){audioSource = new GameObject("Audio Source").AddComponent<AudioSource>();if(!clip){return;}audioSource.clip = clip;audioSource.Play();//vis = GetComponentsInChildren<VisualObject>();initCubes();}private void initCubes() {cubes = new RectTransform[showLen];for(int i = 0; i < showLen; i++){RectTransform cube = Instantiate(imagePrefab, transform);cube.gameObject.SetActive(true);cubes[i] = cube;}for (int i = 0; i < showLen; i++){Transform cube = Instantiate(labelPrefab, labelRoot);TextMeshProUGUI text = cube.GetComponent<TextMeshProUGUI>();cube.gameObject.SetActive(true);RectTransform t = cube.GetComponent<RectTransform>();text.text = i + "";text.fontSize = 5;//t.sizeDelta = new Vector2();}}// Update is called once per framevoid Update(){float[] spectrumDatas = new float[dataLen];audioSource.GetSpectrumData(spectrumDatas,0,windowType);for(int i = 0; i < cubes.Length; i++){Rect rect = cubes[i].GetComponent<RectTransform>().rect;Vector2 size = rect.size;rect.y = Mathf.Lerp(size.y,minHeight + (maxHeight - minHeight) * spectrumDatas[i] * 2,0.1f);Vector2 newSize = new Vector2(rect.x,rect.y);cubes[i].GetComponent<RectTransform>().sizeDelta = newSize;}}
}

unity 可视化

unity 音频可视化方案相关推荐

  1. Unity音频可视化

    直接上效果图(初版): 参考资料:https://blog.csdn.net/liu_if_else/article/details/51233799 https://blog.csdn.net/no ...

  2. Unity 音频优化方案

    参考资料: https://www.cnblogs.com/bearhb/p/11210136.html https://blog.csdn.net/chenfujun818/article/deta ...

  3. unity 音频可视化

    一.原理 1.  傅里叶变换 提出:波形由许多不同的正弦波和余弦波组成.当我们以一个固定频率的sinus wave为基础,向其中添加不同频率的正弦波,我们可以得到越来越接近方形的波长. 从傅里叶函数中 ...

  4. 【案例设计】音频可视化 解析与设计

    开发平台:Unity 2020 编程平台:Visual Studio 2020   前言   面向可视化方案设计中,典型的音频可视化方案 .应用领域广泛,尤其是在地质勘探.医疗器械等方面有着较为典型的 ...

  5. Unity中的音频资料总结-基本使用+音频可视化+音效管理

    入门 基础用法一 基础用法二 进阶 音频可视化 看着一个基本就够了 这个是拆解 简单使用 具体使用 好看的 也是对第一个视频的拆解分析 核心api就一句 GetOutputData 各种炫酷的效果 # ...

  6. Unity 进阶 之 实现简单的音频可视化封装(包括音频和麦克风)

    Unity 进阶 之 实现简单的音频可视化封装(包括音频和麦克 目录 Unity 进阶 之 实现简单的音频可视化封装(包括音频和麦克 一.简单介绍 二.实现原理 三.注意事项 四.效果预览 五.实现步 ...

  7. 傅里叶变换音频可视化_音频可视化中的信号处理方案

    声明: 原创文章,未经允许不得转载. 音频可视化是一个"听"起来非常"美"好的话题,其复杂程度很大程度上依赖视觉方案(一些例子),不同的视觉方案决定了你的技术方 ...

  8. Unity 语音识别以及音频可视化

    代码很简单没有难度,自己看一下应该就能明白. OK 老规矩,直接上代码: 语音识别以及音频可视化 怎么说呢,就是这个语音识别的模块现在Unity只能识别关键字,并不能完整的识别语句以及语气,只能做一些 ...

  9. android pcm频谱_Android音频可视化

    本文作者:熊鋆洋 (网易云音乐大前端团队) 前言 音频可视化,顾名思义就是将声音以视觉的方式呈现出来.如何将音频信号绘制出来?如何将声音的变化在视觉上清晰的表现出来,让视觉和听觉上的感受一致?这些在 ...

最新文章

  1. MyEclipse 中Access restriction 出现问题的解决
  2. 一个div 上下两行_纯CSS实现单一div的正多边形变换
  3. BeanFactory和ApplicationContext有什么区别
  4. java学习(49):方法重载
  5. 笔记本上的CNN搞定了MNIST
  6. 3,进程间通信IPC机制,线程,线程通信,互斥锁
  7. Photoshop插件-创建所有亮度通道蒙板-脚本开发-PS插件
  8. 硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理
  9. 微信小程序添加服务器域名
  10. cad计算机绘图知识点,CAD制图入门初学知识点汇总
  11. SAP 取标标准成本和实际成本
  12. iText7高级教程之html2pdf——6.在pdfHTML中使用字体
  13. mac版免费吃鸡游戏(荒野行动)
  14. 常见的DNSBL(邮件黑名单),及DNSBL(邮件黑名单)的选择
  15. 用excel来构建柯布-道格拉斯Cobb-Douglas生产函数的可视化
  16. 解析低压差线性稳压器(LDO)在摄像头应用中的创新设计
  17. Directional库的学习记录
  18. 基于FME的水库功能分区生态红线批量处理方案(从文本到gdb)
  19. ::before 和:after的区别
  20. 微信小程序与服务器对称加解密,细说CryptoJs使用(微信小程序加密解密)

热门文章

  1. cvCaptureFromFile一直返回NULL
  2. matlab 柱状图不同颜色(取巧哈)
  3. Android中图片压缩分析(上)
  4. 程序员工资的7个段位,你的工资在哪个Level?
  5. 地址转为经纬度通过DBSCAN进行关联识别
  6. php代码计算三角形面积,c语言计算三角形面积代码
  7. 集线器,路由器,交换机的作用和区别是什么?如何区分交换机,集线器,路由器?
  8. 数智经济转型下如何抢占文创发展新机遇?中国移动咪咕聚焦新一代年轻人需求
  9. 创翼NetKeeper校园网连接时出现118错误
  10. Facebook Haystack 管理百亿照片