我想知道是否有一个处理代码可以让我仅在按下鼠标时才使用声音,而在释放鼠标时才停止。我已经将要使用的音频加载到处理中,但是我很难找到代码。请帮我!谢谢!

最佳答案

您的问题很模糊,但我会尽力回答。

我认为,Processing的内置功能无法处理音频,但是minim库可以很好地工作。我将假定您正在使用此解决方案。

据我了解,您想按下鼠标,开始声音,而当释放鼠标时,您想停止声音,而不是暂停声音。我们可以使用处理的内置mousePressed和mouseReleased方法来完成此操作,如下所示:

import ddf.minim.*;

Minim minim;
AudioPlayer player;
AudioInput input;

void setup()
{
  //let's make the window a little bigger
  size(400,400);

  minim = new Minim(this);
  player = minim.loadFile("song.mp3");
  input = minim.getLineIn();
}

void draw(){ }

void mousePressed()
{
  player.play();
}

void mouseReleased()
{
  player.close();

  //since close closes the file, we'll load it again
  player = minim.loadFile("song.mp3");
}

暂停的代码看起来非常相似,只不过您要用以下内容替换mouseReleased块中的所有内容:
player.pause();

10-04 20:38