私は現在、処理IDEで簡単なオーディオ遅延スケッチをコーディングしようとしています。私はVoid Setup()関数で "予期しないトークン:Void"エラーを指摘し続ける。このforループの内容をコメントアウトすると:位置に関係なくforループによって引き起こされたIDEの処理で「予期しないトークン:無効」エラーが発生しましたか?
for (int i = 0; i < output.length; i++)
{
output[i] = (audioData[i]+audioData[i-44100];
}
このエラーは表示されません。このエラーは、このループを挿入する関数に関係なく発生し、別の方法でコーディングしてみました。運がない。ここで
は私に迷惑を与えているタブのためのコードです:
AudioThread audioThread;
// we'll use this to store the audio data we read from the audio file
float[] audioData;
float[] delayData;
// we'll use this to remember our position in the audio data array
float readHead;
float readHeadDelay;
void setup() {
size(500, 400, P2D);
// the audio file we want to play, which should be in the data dir
String audioFilename = "myk_hats_dub1.wav";
// read the audio data into a float array using the AudioFileIn class
audioData = new AudioFileIn(audioFilename, this).getSampleData();
delayData = new AudioFileIn(audioFilename, this).getSampleData();
// print how many samples we read
println("Read " + audioData.length + " samples");
// set the read head to zero, the first sample
readHead = 0;
readHeadDelay = 44100;
// start up the audio thread
audioThread = new AudioThread();
audioThread.start();
}
void draw() {
background(255);
fill(0);
}
// this function gets called when you press the escape key in the sketch
void stop() {
// tell the audio to stop
audioThread.quit();
// call the version of stop defined in our parent class, in case it does
// anything vital
super.stop();
}
// this gets called by the audio thread when it wants some audio
// we should fill the sent buffer with the audio we want to send to the
// audio output
void generateAudioOut(float[] buffer) {
for (int i = 0; i < buffer.length; i++) {
// copy data from the audio we read from the file (audioData)
// into the buffer that gets sent to the sound card
buffer[i] = audioData[(int) readHead];
// add a sample from the other array
buffer[i] += delayData[(int) readHeadDelay];
// scale it so it does not go over 1.0
buffer[i] *= 0.5;
// move the read head along one, resetting to zero
// if it goes to the end of the audioData array
readHead++;
readHeadDelay++;
if (readHead >= audioData.length) {
readHead = 0;
}
if (readHeadDelay >= delayData.length) {
readHeadDelay = 0;
}
}
}
誰でも助けることができますか?