Coverage Summary for Class: MusicManager (io.github.unisim)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
| MusicManager |
0%
(0/1)
|
0%
(0/10)
|
0%
(0/18)
|
0%
(0/29)
|
package io.github.unisim;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Music;
public class MusicManager {
private Music menuMusic;
private Music gameMusic;
private Music CurrentMusic;
private float volume = 0.05f;
//create variables to store the audio files
public MusicManager() {
menuMusic = Gdx.audio.newMusic(Gdx.files.internal("Music/menu_music.mp3"));
gameMusic = Gdx.audio.newMusic(Gdx.files.internal("Music/game_music.mp3"));
menuMusic.setLooping(true);
gameMusic.setLooping(true);
menuMusic.setVolume(volume);
gameMusic.setVolume(volume);
}
//called when the menu music needs to start playing
public void playMenuMusic() {
if (CurrentMusic == menuMusic && menuMusic.isPlaying()) {
return; // Do nothing if menu music is already playing
}
stopMusic();
CurrentMusic = menuMusic;
menuMusic.play();
}
//called when the game music needs to start playing
public void playGameMusic() {
if (CurrentMusic != null) {
CurrentMusic.stop();
}
CurrentMusic = gameMusic;
CurrentMusic.play();
}
//call to pause the current music
public void pauseMusic() {
if (CurrentMusic != null && CurrentMusic.isPlaying()) {
CurrentMusic.pause();
}
}
//call to unpause the music
public void resumeMusic() {
if (CurrentMusic != null && !CurrentMusic.isPlaying()) {
CurrentMusic.play();
}
}
//call to end the current music
public void stopMusic() {
if (CurrentMusic != null) {
CurrentMusic.stop();
}
}
//call to set the volume
public void setVolume(float volume) {
if (CurrentMusic != null) {
CurrentMusic.setVolume(volume);
this.volume = volume;
}
}
public Music getMusic() {
return CurrentMusic;
}
public float getVolume() {
return volume;
}
public void dispose() {
menuMusic.dispose();
gameMusic.dispose();
}
}