Allright, so de code should look something like this?
No. There is no need to concern yourself with what happens after the song ends, until you get to hear some noise. So, ditch the delay() function you wrote, and anything after you tell the device to play a track.
Since you aren't reimplementing delay(), most of your global variables go away. Since you are NOT reading a switch, all that crap goes away, too.
#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>
SFEMP3Shield MP3player;
SdFat sd;
void setup()
{
Serial.begin(115200);
MP3player.begin();
MP3player.setVolume(10, 10);
MP3player.playTrack(1);
}
void loop()
{
}