録音されたオーディオ クリップのコレクションである長いオーディオを作成しようとしています。これは、やがて 1 つの大きなサウンド コラージュにマージされます。Minim サウンド ライブラリを使用していますが、現時点ではこれを機能させるのに苦労しています。これはまったく同じように機能します。私のプログラミング スキルはかなり基本的なものですが、これは非常に簡単な作業だと思っていました。Minim のサンプル フォルダにある 'RecordAndPlayback' とまったく同じように動作することを望んでいますが、クリックによってイベントが自動的にトリガーされるようにする必要があります。
これまでのコードは次のとおりです。
import ddf.minim.*;
Minim minim;
AudioInput in;
AudioRecorder recorder;
AudioPlayer player;
Timer timer;
class Timer {
int savedTime; // When Timer started
int totalTime; // How long Timer should last
Timer(int tempTotalTime) {
totalTime = tempTotalTime;
}
// Starting the timer
void start() {
// When the timer starts it stores the current time in milliseconds.
savedTime = millis();
}
// The function isFinished() returns true if 5,000 ms have passed.
// The work of the timer is farmed out to this method.
boolean isFinished() {
// Check how much time has passed
int passedTime = millis()- savedTime;
if (passedTime > totalTime) {
return true;
} else {
return false;
}
}
}
void setup()
{
size(512, 200, P3D);
textMode(SCREEN);
minim = new Minim(this);
timer = new Timer(5000);
timer.start();
in = minim.getLineIn(Minim.STEREO, 2048);
recorder = minim.createRecorder(in, "myrecording.wav", true);
textFont(createFont("Arial", 12));
}
void draw()
{
background(0);
player = minim.loadFile("myrecording.wav");
player.play();
player.loop();
//GUI
stroke(255);
for(int i = 0; i < in.left.size()-1; i++)
{
line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50);
line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50);
}
//-- end of GUI
//recorder switching
if (timer.isFinished())
{
text("not..", 5, 15);
if(recorder.isRecording() == true){
recorder.endRecord();
recorder.save();
timer.start();
}
}else
{
text("recording...", 5, 15);
recorder.beginRecord();
println(recorder.isRecording());
}
///--- end recorder switching
}
void stop()
{
// always close Minim audio classes when you are done with them
in.close();
if ( player != null )
{
player.close();
}
minim.stop();
super.stop();
}
これは私を怒らせているので、どんな助けも大歓迎です!
ありがとう
ダニエル