diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java index 626a7d1669ba6b945a1a744658f9ca67a236ed36..802a0b37b6c38bf0eeb30263e381cbbc9974ca10 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.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.Persistence; import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Slider; @@ -20,6 +21,7 @@ public class PauseSettingsController implements Initializable { private int musicVolume, sfxVolume; Persistence persistence = Persistence.getInstance(); MusicPlayer player = MusicPlayer.getInstance(); + SoundEffects sfx = new SoundEffects(); @Override public void initialize(URL url, ResourceBundle resourceBundle) { @@ -46,7 +48,7 @@ public class PauseSettingsController implements Initializable { sfxSlider.setValue(persistence.getSettings().getSfxVolume()); sfxSlider.valueProperty().addListener(((observableValue, oldValue, newValue) -> { sfxVolume = newValue.intValue(); - persistence.getSettings().setSfxVolume(sfxVolume); + sfx.setSfxVolume(sfxVolume); // sfxPlayer.getMediaPlayer().setVolume((double) sfxVolume / 100); })); } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java index 0a69553fe7049732c0dfc57e133626d39e64383d..6460e778b691242c60b72c0a0937a6dde1b62e59 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java @@ -25,6 +25,7 @@ public class SoundEffects { private SoundFileManager fileManager = new SoundFileManager(); + private Persistence persistence = Persistence.getInstance(); @@ -44,7 +45,7 @@ public class SoundEffects { String resource = fileManager.convertPathToResourcePath(randomPath); Thread sfxLoop = new Thread(() -> { AudioClip effect = new AudioClip(getClass().getResource(resource).toString()); - effect.setVolume((double) Persistence.getInstance().getSettings().getSfxVolume() /100); + effect.setVolume((double) persistence.getSettings().getSfxVolume() /100); effect.play(); }); sfxLoop.setDaemon(true); @@ -59,8 +60,9 @@ public class SoundEffects { String resource = path.substring(18); // Begins at Ressource Folder Thread sfx = new Thread(()->{ AudioClip audioClip = new AudioClip(getClass().getResource(resource).toExternalForm()); + audioClip.setVolume((double) persistence.getSettings().getSfxVolume()/100); audioClip.play(); - audioClip.setVolume((double) Persistence.getInstance().getSettings().getSfxVolume()/100); + }); sfx.setDaemon(true); sfx.start(); @@ -70,11 +72,11 @@ public class SoundEffects { public void setSfxVolume(int volume){ - Persistence.getInstance().getSettings().setSfxVolume(volume); + persistence.getSettings().setSfxVolume(volume); } public int getVolume(){ - return Persistence.getInstance().getSettings().getMusicVolume(); + return Persistence.getInstance().getSettings().getSfxVolume(); } diff --git a/src/main/resources/player/appSettings.json b/src/main/resources/player/appSettings.json index 14f4ba593d82f076826061a14ef77cc06ec6a4b4..cabb64eaff39680907636d982d66c8408a5a6e26 100644 --- a/src/main/resources/player/appSettings.json +++ b/src/main/resources/player/appSettings.json @@ -1,4 +1,4 @@ { - "sfxVolume": 42, + "sfxVolume": 0, "musicVolume": 11 } \ No newline at end of file