在网易云音乐MV中看到类似效果,自己尝试了下~
processing吧
全部回复
仅看楼主
level 6
lines💤 楼主


2017年11月21日 16点11分 1
level 1
楼楼求个代码
2017年11月25日 07点11分 2
level 1
求个代码[吐舌]
2017年12月01日 07点12分 3
level 1
求代码
2017年12月02日 14点12分 4
level 1
求个代码
2017年12月03日 03点12分 5
level 1
求代码
2018年01月01日 08点01分 6
level 2
求个思路
2018年01月19日 13点01分 7
level 2
求个代码
2018年12月06日 10点12分 8
level 1
求代码
2018年12月20日 03点12分 9
下午不出意外会在楼下贴出来
2018年12月20日 04点12分
已贴
2018年12月20日 09点12分
level 6
lines💤 楼主
//近一年变故太多,也没有再玩这个了,看到还有许多人再求代码就贴出来吧
//软件版本为3.3.6
import ddf.minim.analysis.*;
import ddf.minim.*;
Minim minim;
AudioPlayer music;
FFT fft;
//circle's r
int r = 280;
//rect number
int n = 280;
//music
float[] w = new float[n];
//music buffer1
float[] w1 = new float[n];
//music buffer2
float[] w2 = new float[n];
float maxW;
//PImage img;
void setup(){
//frameRate(24);
//img = loadImage("d (5).jpg");
size(1280, 1000);
colorMode(HSB,100);
//设置最大高度值
maxW = (min(width,height)/2-r)*0.99;
//get music num
minim = new Minim(this);
music= minim.loadFile("Clsr.mp3", 1024);
music.loop(0); //0为循环 空着为不循环只播放一次
fft = new FFT(music.bufferSize(),music.sampleRate());
}
void draw(){
background(0,0,0);
//image(img,0,0,width,height);
stroke(200);
smooth();
translate(width/2,height/2);
pushMatrix();
fft.forward(music.left);
//set 高度范围的详细范围
for(int i=0;i<n;i+=1){
w[i] = fft.getBand(i)*10;
w[i] = map(w[i],0,1023,1,maxW*2);
if(w[i] > maxW*0.7){
w[i] = maxW*0.7+(w[i]-maxW*0.7)*0.5;
if(w[i] > maxW){
w[i] = maxW;
}
}
//buffer1的缓动参数
if(w[i] > w1[i]){
w1[i] = w[i];
}else {
w1[i]-=w1[i]/10;
}
//buffer2的缓动参数
if(w[i] > w2[i]){
w2[i] = w[i];
}else {
w2[i]-=w2[i]/60;
}
fill(10000/n*i/100,90,100,100);
rect(r,0,w1[i]+2,3);
rect(r+w2[i]+3,0,2,3);
rotate(PI/n*2);
}
popMatrix();
//saveFrame("frames/####.png");
}
void keyPressed(){
if ( music.isPlaying() ) {
music.pause();
}else{
music.loop();
}
}
2018年12月20日 08点12分 10
那个,你好我想问一下就是我复制过去之后有很多红线提示有误,如何把音乐链接加入代码让这个程序在我的processing里运行呢?
2018年12月28日 13点12分
1