unity做可视化音乐播放器_可视化音乐篇

using UnityEngine;  
using System.Collections;  


public class audioTest : MonoBehaviour {  


public float deep;
public AudioSource audio1;
public GameObject a;
    public Material Myobj;
// Use this for initialization  
void Start () {  
}  
// Update is called once per frame  
void Update () {  
//建立音谱数组,后面的三个参数我前面已经介绍过,这里是具体用法  


float[] spectrum = audio1.GetSpectrumData(256, 0, FFTWindow.Hamming);  
int i = 1;  
//我们控制物体所用到的数值  
float heght = 0;  
//以下内容是在scence中现实音谱内容  
while (i < 255)  
{  
Debug.DrawLine(new Vector3(i - 1, spectrum[i] + 10, 0), new Vector3(i, spectrum[i + 1] + 10, 0), Color.red);  
Debug.DrawLine(new Vector3(i - 1, Mathf.Log(spectrum[i - 1]) + 10, 2), new Vector3(i, Mathf.Log(spectrum[i]) + 10, 2), Color.cyan);  
Debug.DrawLine(new Vector3(Mathf.Log(i - 1), spectrum[i - 1] - 10, 1), new Vector3(Mathf.Log(i), spectrum[i] - 10, 1), Color.green);  
Debug.DrawLine(new Vector3(Mathf.Log(i - 1), Mathf.Log(spectrum[i - 1]), 3), new Vector3(Mathf.Log(i), Mathf.Log(spectrum[i]), 3), Color.yellow);  
heght = heght + spectrum[i];  
i++;  
}  
//经过本人测试heght值最多为1点几,所以为了表示明显,我*10,但由于会有0影响效果,所以+1  
 
heght = heght * 10 + 1;  
//利用iTween插件变换图形,关于iTween我稍后做讲述  
//iTween.ScaleTo(a, new Vector3(0.4f,heght*10-deep,0.2f), 0f);  


this.gameObject.transform.localScale = new Vector3 (0.1f, heght-deep, 0.1f);
        
       
        






        print(heght); 
        if ((heght*10)>15f){
            
           
            iTween.ColorTo(a, new Color(0, -heght, 256 - heght), 0f); 


}


else if((heght*10)<13f) 
iTween.ColorTo(a, new Color(127, 255-deep, 0), 0f); 




}  
}

 

 

最后,生活那么苦,来看看沙雕视频欢乐下吧!

自家亲视频号,卑微在线求关注

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值