MP3 Shield coding

No paying i'm afraid, just a 'poor' student trying to learn...

I have changed my plan a little bit. I want the arduino to play music when a push button sends a LOW signal. The song should play for 2 minutes from that moment. After the 2 minutes the song should stop when the signal is HIGH, but should repeat the song when the signal is LOW (just 1 song on SD card). This is what I have so far:

#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>

SFEMP3Shield MP3player;
SdFat sd;
int8_t current_track = 0;

const int buttonPin = 0;
unsigned long playTime = 120000; // how long a file will play in milliseconds (15000=15 seconds)
unsigned long pauseTime = 5000; // how long the pause will be after the sound ends (10000=10 seconds)
int readingInterval = 500; // how often to read the sensor

// changing variables

unsigned long currentMillis = 0; // time variable to track running time: current time
unsigned long startingMillis = 0; // time variable to track running time: starting time

// setup

void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT);

MP3player.begin();
MP3player.playTrack(1);
MP3player.setVolume(10, 10);
Serial.println(F(""));
}

void loop(){
if (digitalRead(buttonPin)== HIGH) {
Serial.print(F("track001.mp3"));
Serial.println(current_track);
MP3player.playTrack(current_track);
playtime();
MP3player.stopTrack();
delay(pauseTime);
}

delay(readingInterval);
}

void playtime() {
startingMillis = millis(); // set both time counter
currentMillis = millis();
while ( currentMillis - startingMillis < playTime ) { // while track plays, runs until playTime is reached
currentMillis = millis(); // set to actual time
delay(40); // debounce
}
}

I have produced this by combining some existing codes and adding something by myself (understand the code globally, not every line).

When I run this I get no faults, but also no music =(

Can you guys help me please?