GameMaker Studio 2 has a complete audio engine that is based on the *.ogg, *.mp3 and *.wav sound formats. Sounds of these types added to the IDE can then be used in your game using the basic audio functions shown below. For things more complex than basic sound effects or playing a single piece of music you can refer to the advanced audio functions which let you modify how a sound is played. There are also a selection of more specialised functions dedicated to streaming audio, positioning audio - to give 3D sound - and grouping audio.

IMPORTANT! When using audio on the HTML5 target, you should be aware that not all browsers support Web Audio and so may not play any sound for your project when run. You can get a general idea of Web Audio support from the following link: Can I Use Web Audio?.

The following functions are for dealing with audio in the most straightforward and simple way possible, avoiding the use of emitters and permitting the user to generate sounds and play music easily as these sounds are always generated at the listener position (see below for more details on the listener) and so are generally not affected by any changes to the listener:

The following functions are designed to give more control over how the audio engine works, and how the sounds played through it will be "heard" by the listener. As such it is recommended that you have a good working knowledge of how the rest of the GameMaker Studio 2 audio engine works before using any of the following functions:

Further advanced functionality, like setting listeners, recording audio, or synchronising multiple audio tracks over time can all be found from the sub-sections listed below:

  1. Audio Emitters
  2. Audio Listeners
  3. Audio Groups
  4. Audio Buffers
  5. Audio Synchronisation