如果你检查这个jsbin,你会注意到,根据音频波长振幅的最高点,圆圈跳动和脉冲。
http://jsbin.com/ovesiv/4/edit
我试图记录这个音频幅度到控制台,但这是相当混乱的。您使用console.log(缓冲区)吗?Console.log(安培)?还是其他的东西在一起?还有,你在哪里输入这一行。
我的最终目标是拥有一个具有5种不同颜色的小部件。一种颜色代表非常低(几乎沉默),一种颜色代表低,一种前介质,一种代表高,一种表示非常高。
所以,如果我要写一个if语句,它改变了这5个振幅的圆的颜色,我会怎么做呢?
谢谢你的帮忙!这是一个新的api,所以这些问题在google上并不容易找到。
发布于 2013-10-26 15:35:51
1.日志记录
把console.log(amp);
放在circle.setAttribute(...)
前面就行了。
2.颜色
创建一个查找表(processAudio
外部):
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
];
...and根据当前的振幅选择颜色:
var color =
amp < 0.2 ? colorLUT[0] :
amp < 0.4 ? colorLUT[1] :
amp < 0.6 ? colorLUT[2] :
amp < 0.8 ? colorLUT[3] :
colorLUT[4];
https://stackoverflow.com/questions/19612534
复制相似问题