使用 console.log() 在 HTML5 Audio API 和 JavaScript 中记录音频振幅

logging the audio amplitutde in html5 audio api and javascript with console.log()

本文关键字:JavaScript 记录 音频 API Audio log console HTML5 使用      更新时间:2023-09-26

如果你查看这个jsbin,你会注意到圆圈根据音频波长幅度的最高点跳动和脉冲。

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

我正在尝试将此音频振幅记录到控制台,但这很令人困惑。 你使用控制台.log(缓冲区)吗? 控制台.log(放大器)? 还是别的什么? 另外,您在哪里键入该行。

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

那么,如果我要写一个 if 语句来改变这 5 个振幅水平的圆圈颜色,我会怎么做呢?

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

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];