Dreep_Light 发表于 2013-3-28 00:18:47

大家帮忙看看是怎么一回事

不知道怎么回事,我按下鼠标,怎么音乐不暂停,再按一次又多了一条音轨(重新开始的)。

import ddf.minim.analysis.*;
import ddf.minim.*;

Minim minim;
AudioPlayer kingk;
FFT fft;

//boolean inPlaying = true;
//boolean paused =false;

void setup()
{

minim = new Minim(this);
kingk = minim.loadFile("Bridgit Mendler - City Lights.mp3", 1024);
kingk.play();

fft = new FFT(kingk.bufferSize(), kingk.sampleRate());
size(800,600,P3D);
noStroke();
frameRate(50);
background(0);
strokeWeight(1);

}

void draw()
{

//rotate(radians(45) );
background(0,5);
fft.forward(kingk.mix);
fill(255,0,0);
noStroke();
translate(20,height/9);
drawStandardSpectrum();
translate(-(20+width/2),height/9);
drawReversedSpectrum();
translate(width,height/9);
drawStandardSpectrum();
translate(-width/4,height/9);
drawStandardSpectrum();
translate(-width/4,height/9);
drawReversedSpectrum();
translate(-width/2,height/9);
drawReversedSpectrum();
translate(width+150,height/9);
drawStandardSpectrum();
translate(-width-350,height/9);
drawReversedSpectrum();

}

int getPeak()
{
int maximum=0;
for(int i = 0; i < fft.specSize(); i++)
{
    if(fft.getBand(i)>fft.getBand(maximum)) maximum=i;
}
return maximum;
}

void drawStandardSpectrum()
{
for(int i = 0; i < fft.specSize(); i+=10)
{
    fill(0,map(i,0,fft.specSize(),0,255),0,random(150));
    stroke(random(255),map(i,0,fft.specSize(),255,0),random(255));
    {
      ellipse(i,0,fft.getBand(i),fft.getBand(i));
    }
}
}

void drawReversedSpectrum()
{
for(int i = fft.specSize(); i > 0; i-=3)
{
    fill(random(255),map(i,0,fft.specSize(),0,255),random(255) ,random(255) );
    stroke(0,map(i,0,fft.specSize(),255,0),0);
    {
      ellipse(width-i,0,fft.getBand(i),fft.getBand(i));
    }
}
}

void mousePressed() {
if(kingk.isPlaying()){
    kingk.pause();
    //kingk.rewind();
}else{
    kingk.play();
   }
}

void stop()
{
kingk.close();
minim.stop();
super.stop();
}
页: [1]
查看完整版本: 大家帮忙看看是怎么一回事