Audio - UQcsse3200/2024-studio-3 GitHub Wiki

Introduction

Audio, e.g. Sounds and music files, can be easily added into the game using libgdx Sound and Music. There is no single audio service, instead audio can be played when and where needed once loaded by the ResourceService.

Usage

Example: Sound Effect

  1. Load sound: Ensure the sound file has been loaded in an active resource batch by the Resource Service using loadSounds().
private static final String[] soundsToLoad = {"sounds/sound.ogg"};
resourceService.loadSounds(soundsToLoad);
  1. Play sound: Retrieve the sound from the Resource Service using getAsset(). Configure the playback settings, then use play() to play the file.
Sound sound = ServiceLocator.getResourceService().getAsset("sounds/sound.ogg", Sound.class);
sound.play();

Example: Background Music

  1. Load music: Ensure the music file has been loaded in an active resource batch by the Resource Service using loadMusic().
private static final String[] musicToLoad = {"sounds/music.mp3"};
resourceService.loadMusic(musicToLoad );
  1. Play music: Retrieve the music from the Resource Service using getAsset(). Configure the playback settings, then use play() to play the music. The following example is set to loop, and to play with volume at 30%.
Music music = ServiceLocator.getResourceService().getAsset("sounds/music.mp3", Music.class);
music.setLooping(true);
music.setVolume(0.3f);
music.play();