For any sound that’s longer than a few seconds it is preferable to stream it from disk instead of fully loading it into RAM. libGDX provides a Music interface that lets you do that. To load a Music instance we can do the following:
Music music = Gdx.audio.newMusic(Gdx.files.internal("data/mymusic.mp3"));
"mymusic.mp3" from the internal directory data.
Playing back the music instance works as follows:
music.play();
Music instance:
music.setVolume(0.5f); // sets the volume to half the maximum volumemusic.setLooping(true); // will repeat playback until music.stop() is calledmusic.stop(); // stops the playbackmusic.pause(); // pauses the playbackmusic.play(); // resumes the playbackboolean isPlaying = music.isPlaying(); // obvious :)boolean isLooping = music.isLooping(); // obvious as well :)float position = music.getPosition(); // returns the playback position in seconds
Music instances are heavy, you should usually not have more than one or two at most loaded.
Music instance needs to be disposed if it is no longer needed, to free up resources.
music.dispose();
