我试图在开始时有两个不同的延迟,并且在每个项目的重复声音之间有相同的延迟,因此没有停止时间。我尝试使用延迟,但是似乎只添加了两个延迟而不是将它们分开,我被告知使用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代替了延迟,并查看了论坛,但找不到与我想要的匹配的论坛!
最佳答案
首先,您使用了不正确的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);
}
}
关于audio - 使用millis();而不是delay();不同延迟的处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23339114/