单击一次时如何使用mousePressed进行播放,单击两次后停止播放?

时间:2016-04-11 23:00:51

标签: java audio processing

我已经学会了如何将音乐添加到处理中,现在我希望能够在我点击一次时播放该歌曲并在我点击两次时暂停。

我知道我可以使用mousePressed在我点击一次时能够播放曲调,但如果我尝试使用if语句,我就无法暂停。

import ddf.minim.analysis.*; 
import ddf.minim.effects.*; 
import ddf.minim.signals.*; 
import ddf.minim.spi.*; 
import ddf.minim.ugens.*;  

Minim minim;  
AudioPlayer player; 
Boolean value = true; 

void setup() {  
  minim = new Minim(this);   
  player = minim.loadFile("deadmau5.mp3");
} 

void draw() { }

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

//void mouseReleased()
//{
// player.pause();
// player.rewind();
//} 

void mouseClicked() {  
   if (value == false){   
     player.play(); 
   } 
   if (mousePressed == '2') {    
      value = false;    
      player.pause(); 
   } 
}

我也尝试添加一个布尔值但是也没有用。任何人都对我能做什么有任何想法?

1 个答案:

答案 0 :(得分:1)

只需使用布尔值来跟踪您所处的状态。

boolean playing = false;

void mousePressed(){
   playing = !playing;

   if(playing){
      //play your song
   }
   else{
      //pause your song
   }
}

事实上,如果Minor已经有了一个可以为你跟踪的boolean,我不会感到惊讶。类似于player.isPlaying()之类的东西。可能想查看文档。