This site requires JavaScript, please enable it in your browser!
Greenfoot back
Recorsi
Recorsi wrote ...

2017/12/16

Stopping every sound at once?

Recorsi Recorsi

2017/12/16

#
Hello, this is the switch i have for starting the music:
if (Greenfoot.isKeyDown("Enter"))
       {
          switch(Greenfoot.getRandomNumber(8))
          {
             case 0:  Greenfoot.playSound("Musik1.mp3"); break;
               
             case 1:  Greenfoot.playSound("Musik2.mp3"); break;
                
             case 2:  Greenfoot.playSound("Musik3.mp3"); break;
        
             case 3:  Greenfoot.playSound("Musik4.mp3"); break;
        
             case 4:  Greenfoot.playSound("Musik5.mp3"); break;
        
             case 5:  Greenfoot.playSound("Musik6.mp3"); break;
             
             case 6:  Greenfoot.playSound("Musik7.mp3"); break;
             
             case 7:  Greenfoot.playSound("Musik8.mp3"); break;
          }
       }
How can i stop the music with a button or something no matter which one is playing?
Super_Hippo Super_Hippo

2017/12/16

#
You can't stop sounds created with the 'playSound' method. That's why it is only useful for sounds and not for background music. Create a GreenfootSound object and save a reference to this object. Then you can stop it whenever you want.
private GreenfootSound bgMusic;
private boolean enterPressed = false;


//example
if (!enterPressed && Greenfoot.isKeyDown("enter"))
{
    enterPressed = true;
    if (bgMusic != null)
    {
        bgMusic.stop();
        bgMusic = null;
    }
    else
    {
        bgMusic = new GreenfootSound("Musik"+(Greenfoot.getRandomNumber(8)+1)+".mp3");
        bgMusic.playLoop();
    }
}
else if (!Greenfoot.isKeyDown("enter")) enterPressed = false;
Recorsi Recorsi

2017/12/17

#
Works great thanks :)
You need to login to post a reply.