package de.lessvoid.nifty.sound.paulssoundsystem; import de.lessvoid.nifty.spi.sound.SoundHandle; import paulscode.sound.SoundSystem; public class PaulsMusicHandle implements SoundHandle { private final SoundSystem soundSystem; private final String id; private final String filename; public PaulsMusicHandle(final SoundSystem soundSystem, final String id, final String filename) { this.soundSystem = soundSystem; this.id = id; this.filename = filename; } @Override public void play() { soundSystem.backgroundMusic(id, filename, false); try { Thread.sleep(250); } catch (InterruptedException e) { e.printStackTrace(); } } @Override public void stop() { soundSystem.stop(id); } @Override public void setVolume(final float volume) { soundSystem.setVolume(id, volume); } @Override public float getVolume() { return soundSystem.getVolume(id); } @Override public boolean isPlaying() { return soundSystem.playing(id); } @Override public void dispose() { soundSystem.removeSource(id); } }