2016-04-11 113 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'的值,這是您的原始代碼丟失的值。 –

相關問題