From 19ac7e7a45be34d1af968f9cf1966dc89fac090e Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 25 Feb 2024 13:18:29 -0500 Subject: [PATCH] v2.4.0: fixed music not properly pausing if tracks are switched --- .../src/main/java/com/watabou/noosa/audio/Music.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java index 33e850bae..10ce4a202 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java @@ -150,7 +150,7 @@ public enum Music { } public synchronized void update(){ - if (fadeTotal > 0f){ + if (fadeTotal > 0f && !paused){ fadeTime += Game.elapsed; if (player != null) { @@ -217,7 +217,7 @@ public enum Music { player = Gdx.audio.newMusic(Gdx.files.internal(track)); player.setLooping(looping); player.setVolume(volumeWithFade()); - player.play(); + if (!paused) player.play(); if (listener != null) { player.setOnCompletionListener(listener); } @@ -232,14 +232,18 @@ public enum Music { trackList = null; stop(); } + + private boolean paused = false; public synchronized void pause() { + paused = true; if (player != null) { player.pause(); } } public synchronized void resume() { + paused = false; if (player != null) { player.play(); player.setLooping(looping);