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 d64a827d6..570eabe0f 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 @@ -29,8 +29,6 @@ import android.telephony.TelephonyManager; import com.watabou.noosa.Game; -import java.io.IOException; - public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener { INSTANCE; @@ -41,6 +39,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError private boolean looping; private boolean enabled = true; + private float volume = 1f; public void play( String assetName, boolean looping ) { @@ -67,8 +66,9 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError mp.setOnPreparedListener( this ); mp.setOnErrorListener( this ); mp.prepareAsync(); + afd.close(); - } catch (IOException e) { + } catch (Exception e) { player = null; @@ -85,6 +85,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError player = mp; player.start(); player.setLooping(looping); + player.setVolume(volume, volume); } @Override @@ -116,6 +117,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError } public void volume( float value ) { + volume = value; if (player != null) { player.setVolume( value, value ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index 37e0d5e2a..a8050f5b0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -149,6 +149,7 @@ public class ShatteredPixelDungeon extends Game { } Music.INSTANCE.enable( music() ); + Music.INSTANCE.volume( musicVol()/10f ); Sample.INSTANCE.enable( soundFx() ); Sample.INSTANCE.volume( SFXVol()/10f ); @@ -392,7 +393,6 @@ public class ShatteredPixelDungeon extends Game { public static void music( boolean value ) { Music.INSTANCE.enable( value ); - Music.INSTANCE.volume( musicVol()/10f ); Preferences.INSTANCE.put( Preferences.KEY_MUSIC, value ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java index 2163d741b..993e71f9d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java @@ -50,7 +50,6 @@ public class BadgesScene extends PixelScene { super.create(); Music.INSTANCE.play( Assets.THEME, true ); - Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f ); uiCamera.visible = false; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 448712bd8..83b4545cc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -162,7 +162,6 @@ public class GameScene extends PixelScene { public void create() { Music.INSTANCE.play( Assets.TUNE, true ); - Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol()/10f ); ShatteredPixelDungeon.lastClass(Dungeon.hero.heroClass.ordinal()); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/InterlevelScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/InterlevelScene.java index 374c92aaa..c5afb19b2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/InterlevelScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/InterlevelScene.java @@ -36,7 +36,6 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndStory; import com.watabou.noosa.Camera; import com.watabou.noosa.Game; import com.watabou.noosa.RenderedText; -import com.watabou.noosa.audio.Music; import com.watabou.noosa.audio.Sample; import java.io.FileNotFoundException; @@ -159,10 +158,7 @@ public class InterlevelScene extends PixelScene { case FADE_OUT: message.alpha( p ); - - if (mode == Mode.CONTINUE || (mode == Mode.DESCEND && Dungeon.depth == 1)) { - Music.INSTANCE.volume( p * (ShatteredPixelDungeon.musicVol()/10f)); - } + if ((timeLeft -= Game.elapsed) <= 0) { Game.switchScene( GameScene.class ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java index 76d267f1b..d38b07568 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java @@ -60,7 +60,6 @@ public class RankingsScene extends PixelScene { super.create(); Music.INSTANCE.play( Assets.THEME, true ); - Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f ); uiCamera.visible = false; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java index f47904b80..3ee9c4656 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java @@ -24,7 +24,6 @@ package com.shatteredpixel.shatteredpixeldungeon.scenes; import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite; @@ -74,7 +73,6 @@ public class SurfaceScene extends PixelScene { super.create(); Music.INSTANCE.play( Assets.HAPPY, true ); - Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f ); uiCamera.visible = false; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java index 609d213d9..7023a11ff 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java @@ -52,7 +52,6 @@ public class TitleScene extends PixelScene { super.create(); Music.INSTANCE.play( Assets.THEME, true ); - Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f ); uiCamera.visible = false;