2013-10-26 141 views
1

如果您查看该jsbin,您会注意到根据音频波长振幅的最高点,该圆形拍子和脉冲。在html5音频api中记录音频幅值和用console.log记录javascript()

http://jsbin.com/ovesiv/4/edit

我试图登录该音频幅度到控制台,但它是相当混乱。你使用console.log(缓冲区)?执行console.log(AMP)?还是别的什么都一起?另外,你在哪里输入该行。

我的最终目标是拥有一个具有5种不同颜色的小部件。一种颜色非常低(几乎无声),一种颜色为低,一种前中,一种为高,另一种为非常高。

所以,如果我要写一个if语句来改变这5个振幅的圆的颜色,我该怎么做?

感谢您的帮助!这是一个新的api,所以这些问题不容易在谷歌上获得。

回答

0

1.登录

只要把console.log(amp);circle.setAttribute(...)之前。根据电流幅值

var colorLUT = [ 
     "rgb(255, 0, 0)", // Very low 
     "rgb(255, 255, 0)", // Low 
     "rgb( 0, 255, 0)", // Medium 
     "rgb( 0, 255, 255)", // High 
     "rgb( 0, 0, 255)" // Very high 
    ]; 

...,然后选择颜色:

2.颜色

创建一个查找表(外processAudio

var color = 
    amp < 0.2 ? colorLUT[0] : 
    amp < 0.4 ? colorLUT[1] : 
    amp < 0.6 ? colorLUT[2] : 
    amp < 0.8 ? colorLUT[3] : 
       colorLUT[4];