我试图在开始时有两个不同的延迟,并且在重复项目的每个声音之间有相同的延迟,这里没有停止时间。我尝试使用延迟,但它似乎只是添加两个延迟而不是分开它们,我被告知使用millis();功能,但我不知道如何实现这个?任何帮助都会很棒!
import ddf.minim.*;
import ddf.minim.signals.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
void setup()
{
size(512, 200, P3D);
minim = new Minim(this);
player = minim.loadFile("clapping.mp3");
player2 = minim.loadFile("bell.mp3");
}
void draw()
{
background(0);
stroke(255);
player1delay();
player2delay();
}
void delayatstart(){
millis(4000);
}
void player1delay(){
delayatstart();
player.play();
player.rewind();
}
void delayatstart2(){
millis(10000);
}
void player2delay(){
delayatstart2();
player2.play();
player2.rewind();
}
以上是我尝试使用的代码,我用millis替换了我的延迟,并查找了论坛,但无法找到符合我所寻找的代码!
答案 0 :(得分:2)
首先,你错误地使用了millis()方法。 millis()方法不带任何参数,所以我不知道你认为millis(10000)会做什么。看一下参考文献:http://www.processing.org/reference/millis_.html
millis()函数只返回自程序启动以来的毫秒数。您可以通过将其与某个阈值进行比较来使用它来创建延迟。此示例程序仅在经过5秒后绘制一个圆圈:
void draw(){
background(0);
if(millis() > 5000){
ellipse(10, 10, 50, 50);
}
}