package org.tjuscs.bulletgame.view.component; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.audio.Sound; public class AudioPlayer { private boolean muted; public boolean isMuted() { return muted; } public void setMuted(boolean isMuted) { this.muted = isMuted; } private AudioPlayer() { String osName = System.getProperty("os.name"); if("Windows 8".equalsIgnoreCase(osName)) setMuted(true); } private static AudioPlayer instance; public static AudioPlayer getInstance() { if (instance == null) instance = new AudioPlayer(); return instance; } public void PlaySound(String soundname, double volume) { if(muted) return; Sound sound = Resources.getInstance().sounds.get(soundname); sound.play((float) volume); } public void PlayMusic(String musicname, double volume) { if(muted) return; for(Music m: Resources.getInstance().musics.values()){ m.stop(); } Music music = Resources.getInstance().musics.get(musicname); music.setVolume((float) volume); music.play(); } public void PauseMusic(String musicname) { Music music = Resources.getInstance().musics.get(musicname); music.pause(); } public void ResumeMusic(String musicname) { if(muted) return; Music music = Resources.getInstance().musics.get(musicname); music.play(); } public void StopMusic(String musicname) { Music music = Resources.getInstance().musics.get(musicname); music.stop(); } public double GetMusicPosition(String musicname) { Music music = Resources.getInstance().musics.get(musicname); return music.getPosition(); } public boolean IsMusicPlaying(String musicname) { Music music = Resources.getInstance().musics.get(musicname); return music.isPlaying(); } }