level 2
虽然我并没有完成整个程序,但我简易修改了一下我原有的代码,希望可以帮到你。运行效果如下:

代码如下:import ddf.minim.*;
import ddf.minim.analysis.*;Minim minim;
AudioPlayer player;
AudioMetaData meta;
BeatDetect beat;
int r = 200;
float rad = 70;
void setup() {
size(600, 600);
minim = new Minim(this);
player = minim.loadFile("麦わらの一味 (草帽海贼团) - ビンクスの酒 (宾克斯的美酒).mp3");
meta = player.getMetaData();
beat = new BeatDetect();
player.loop();
background(0);
noCursor();
}
void draw() {
beat.detect(player.mix);
// 背景绘制
fill(#1A1F18, 20);
noStroke();
rect(0, 0, width, height); translate(width/2, height/2);
noFill();
fill(-1, 10);
if (beat.isOnset()) rad = rad*0.9;
else rad = 70;
ellipse(0, 0, 2*rad, 2*rad); // 绘制中心圆
stroke(-1, 50);
int bsize = player.bufferSize();
for (int i = 0; i < bsize - 1; i+=5) {
float x = (r)*cos(i*2*PI/bsize);
float y = (r)*sin(i*2*PI/bsize);
float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize);
float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize);
line(x, y, x2, y2); // 绘制小线条
}
}
注意:需要 minim 库和 麦わらの一味 (草帽海贼团) - ビンクスの酒 (宾克斯的美酒).mp3。
【欢迎关注】
Hewes 的知乎专栏:Hewes的编程艺术(https://zhuanlan.zhihu.com/c_123529691)
Hewes 的CSDN博客:https://blog.csdn.net/Hewes
【程序代写】
Hewes 微信:19923927612
