如果您查看此 jsbin,您会发现圆圈根据音频波长振幅的最高点进行跳动和脉冲。
http://jsbin.com/ovesiv/4/edit
我试图将这个音频幅度记录到控制台,但它很困惑。你使用console.log(buffer)吗?控制台.log(放大器)?或者其他东西一起?另外,您在哪里输入该行。
我的最终目标是拥有一个具有 5 种不同颜色的小部件。一种颜色表示非常低(几乎静音),一种颜色表示低,一种颜色表示中,一种颜色表示高,一种颜色表示非常高。
那么,如果我要编写一个 if 语句来更改这 5 个幅度级别的圆圈颜色,我该怎么做?
感谢您的帮助!这是一个新的 API,因此在 Google 上不容易找到这些问题。
最佳答案
<强>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
];
...并根据当前幅度选择颜色:
var color =
amp < 0.2 ? colorLUT[0] :
amp < 0.4 ? colorLUT[1] :
amp < 0.6 ? colorLUT[2] :
amp < 0.8 ? colorLUT[3] :
colorLUT[4];
关于javascript - 使用 console.log() 在 html5 音频 api 和 javascript 中记录音频幅度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19612534/