2016-04-11 68 views
1

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

据我所知,我可以使用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

只需使用一个布尔值来跟踪其状态的你是。

boolean playing = false; 

void mousePressed(){ 
    playing = !playing; 

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

其实我也不会感到惊讶,如果微量已经有了一个布尔值,持续跟踪的这个要求。像player.isPlaying()或类似的东西。可能要检查文档。

+0

没有工作好先生。我们如何链接玩家? –

+0

@ user3318928当你说它不起作用时,你的意思是什么?你能发布你试过的代码吗?您只需使用'playing'来确定您是否调用'player.play()'或'player.pause()',就可以通过'player'连接'playing'。 –

+0

@ user3318928注意我的'mousePressed()'函数中的第一行:'playing =!playing;'这就是'boolean'的值,这是您的原始代码丢失的值。 –

相关问题