0

シンプルなオーディオ ビジュアライザーを作成しています。ここにコードがあります

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

Minim minim;
AudioInput in;
FFT fft;

int w;

PImage fade;

void setup() {
  size(640,480); // draw screen
  minim = new Minim(this); // new minim object

  in = minim.getLineIn(Minim.STEREO,512); // audio input from microphone (have to change this to get currently playing audio)

  fft = new FFT(in.bufferSize(),in.sampleRate()); // new fft object

  fft.logAverages(60,7);

  stroke(255); 
  w=width/fft.avgSize();
  strokeWeight(w); // display lines as bars

  background(0);

}

void draw() {
  background(0);
  fft.forward(in.mix); //generate fourier series

  for(int i = 0; i < fft.avgSize(); i++) {
    line((i*w)+(w/2),height, (i*w)+(w/2), height - fft.getAvg(i)*4); // draw bars
  }
}

ここでin = minim.getLineIn(Minim.STEREO,512); は、マイクからのオーディオ入力を示します。しかし、現在再生中のコンピューターのオーディオ(スピーカーまたはヘッドフォンから聞こえるもの)を取得して視覚化する必要があります。

現在再生中のオーディオを入力として取得する方法またはその他の方法がある場合は、言及してください。前もって感謝します :)

4

1 に答える 1

0

このような質問は、リファレンスを読むことで最もよく答えられます:

AudioInput は、コンピュータの現在のレコード ソースへの接続です。コンピュータのレコード ソースの設定方法は、サウンドカードと OS によって異なりますが、通常、ユーザーはコントロール パネルを開いて、そこからソースを設定できます。残念ながら、Java からレコード ソースを設定する方法はありません。

つまり、これはユーザーがコントロール パネルで変更する必要がある設定です。これはここここで確認されているようです。

于 2016-09-13T14:31:04.667 に答える