我试图在开始时有两个不同的延迟,并且在每个项目的重复声音之间有相同的延迟,因此没有停止时间。我尝试使用延迟,但是似乎只添加了两个延迟而不是将它们分开,我被告知使用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/

10-10 10:12