diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
index 3b569f812f529b473b3544ee5667596669af57ac..d1efdc6aab8e9c380eb4c6bbdd122161ee521587 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
@@ -3,6 +3,7 @@ package de.hdm_stuttgart.battlearena.Controller;
 import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions.DatabaseException;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
+import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer;
 import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 import javafx.scene.control.Button;
@@ -20,6 +21,7 @@ public class MainMenuController {
     private Button exitButton;
     private final SceneLoader sceneLoader = new SceneLoader();
     private final Persistence persistence = Persistence.getInstance();
+    private final MusicPlayer player = MusicPlayer.getInstance();
 
     private void switchScene(String name) {
         parent.getChildren().clear();
@@ -48,6 +50,7 @@ public class MainMenuController {
 
     @FXML
     private void exit() throws DatabaseException {
+        player.getScheduler().shutdown();
         persistence.savePlayerStatistics();
         persistence.saveSettings();
         Stage stage = (Stage) exitButton.getScene().getWindow();
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java b/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
index f8431f9fcf7c982948b7f53ead47f380914874ea..83297700dd3dff0d7550224eef882ca59a72d8e4 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
@@ -6,6 +6,8 @@ import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler;
 
 import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer;
 import javafx.application.Application;
+import javafx.application.Platform;
+import javafx.event.EventHandler;
 import javafx.fxml.FXMLLoader;
 import javafx.geometry.Rectangle2D;
 import javafx.scene.Parent;
@@ -16,6 +18,7 @@ import javafx.stage.Screen;
 import javafx.stage.Stage;
 
 import javafx.stage.StageStyle;
+import javafx.stage.WindowEvent;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -59,6 +62,8 @@ public class Driver extends Application {
         MusicPlayer player = MusicPlayer.getInstance();
         player.startGameStateMonitoring();
 
+        stage.setOnCloseRequest(windowEvent -> MusicPlayer.getInstance().getScheduler().shutdown());
+
 
         stage.show();
         log.debug("Project started successfully!");
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java
index c48ea216681009f123590927dbd21d4e00687433..f77fa54d23b8a291380e4ab5bb036e9689312540 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java
@@ -36,13 +36,15 @@ public class MusicPlayer{
     private GameState currentGameState;
     private SoundFileManager fileManager = new SoundFileManager();
 
+    private ScheduledExecutorService scheduler;
+
     private MusicPlayer(){}
 
 
 
 
     public void startGameStateMonitoring(){
-        ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
+        scheduler = Executors.newSingleThreadScheduledExecutor();
         scheduler.scheduleAtFixedRate(()->{
            GameState newGameState = RuntimeInfo.getInstance().getGameState();
            if(currentGameState != newGameState){
@@ -105,6 +107,7 @@ public class MusicPlayer{
     public int getVolume(){
         return persistence.getSettings().getMusicVolume();
     }
+    public ScheduledExecutorService getScheduler(){return scheduler;}
 
     public static MusicPlayer getInstance(){return musicPlayerSingleton;}
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
deleted file mode 100644
index b7d5924e85a9559d88db4bf4a295fd235fc2aa5b..0000000000000000000000000000000000000000
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package de.hdm_stuttgart.battlearena.Model.Sound;
-
-public enum MusicType {
-    MENU("src/main/resources/sound/music/menu"),
-    OPTIONS("src/main/resources/sound/music/options"),
-    GAME("src/main/resources/sound/music/game");
-
-    private String path;
-    MusicType(String path){
-        this.path = path;
-    }
-
-    public String getPath(){
-        return path;
-    }
-}
diff --git a/src/main/resources/player/appSettings.json b/src/main/resources/player/appSettings.json
index cabb64eaff39680907636d982d66c8408a5a6e26..29ddb093e518e6f1540e962d650ed94caabb1c5f 100644
--- a/src/main/resources/player/appSettings.json
+++ b/src/main/resources/player/appSettings.json
@@ -1,4 +1,4 @@
 {
-  "sfxVolume": 0,
-  "musicVolume": 11
+  "sfxVolume": 16,
+  "musicVolume": 39
 }
\ No newline at end of file
diff --git a/src/test/java/MusicPlayerTest.java b/src/test/java/MusicPlayerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..b56177a78e498e6c0a299da7d9be5da207d9068c
--- /dev/null
+++ b/src/test/java/MusicPlayerTest.java
@@ -0,0 +1,26 @@
+import de.hdm_stuttgart.battlearena.Controller.Enum.GameState;
+import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
+import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo;
+import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+public class MusicPlayerTest {
+    private static final Logger log = LogManager.getLogger(MusicPlayerTest.class);
+
+    RuntimeInfo runtimeInfo;
+    MusicPlayer musicPlayer;
+    @BeforeEach
+    void setup(){
+    musicPlayer = MusicPlayer.getInstance();
+    runtimeInfo = RuntimeInfo.getInstance();
+    }
+
+    @Test
+    void startGameStateMonitoringTest(){
+        runtimeInfo.setGameState(GameState.MENU);
+        musicPlayer.startGameStateMonitoring();
+    }
+}