2016-04-11 21 views
1

Ich habe gelernt, wie man Musik zur Bearbeitung hinzufügt, und jetzt möchte ich in der Lage sein, den Song zu spielen, wenn ich einmal klicke und Pause mache, wenn ich zweimal klicke.Wie benutzt man mousePressed um zu spielen wenn man einmal klickt und stoppt wenn man zweimal klickt?

Ich verstehe, dass ich mousePressed verwenden kann, um die Melodie zu spielen, wenn ich einmal klicke, aber ich kann es nicht anhalten, wenn ich versuche, eine if Aussage zu verwenden.

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(); 
    } 
} 

Ich habe versucht, einen boolean auch, aber das hat auch nicht funktioniert. Hat jemand irgendwelche Ideen, was ich tun kann?

Antwort

1

Verwenden Sie einfach ein boolean um zu verfolgen, welchen Zustand Sie in.

boolean playing = false; 

void mousePressed(){ 
    playing = !playing; 

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

In der Tat würde ich nicht überrascht, wenn minim bereits einen boolean hat, die für Sie den Überblick über diese gehalten. So etwas wie player.isPlaying() oder so ähnlich. Könnte die Dokumente überprüfen.

+0

hat nicht funktioniert gut, mein Herr. Wie verbinden wir das Spielen mit dem Spieler? –

+0

@ user3318928 Was genau meinst du, wenn du sagst, dass es nicht funktioniert hat? Können Sie den Code, den Sie ausprobiert haben, posten? Sie verknüpfen 'playing' mit' player', indem Sie einfach 'playing' verwenden, um zu bestimmen, ob Sie' player.play() 'oder' player.pause() 'aufrufen. –

+0

@ user3318928 Beachten Sie die erste Zeile in meiner 'mousePressed()' -Funktion: 'playing =! Playing;' Das ist, was den Wert des 'boolean' ändert, was der ursprüngliche Code fehlte. –

Verwandte Themen