his section is for setting the sound attributes. These are the attributes that will be set when you export your game and will affect how the sound id played back at run-time.
For sound effects (WAV format) you will want them to be uncompressed so that they play quickly and don't require decoding, however
for OGG and MP3 you'd generally want one of the other three options available.
Compressed audio will force all your sound files (irrespective of whether they are *.wav or *.mp3 or *.ogg) to be compressed down to Ogg Vorbis *.ogg format files for all platforms. These sounds are smaller on disc, but will have a slight CPU overhead due to the need to be uncompressed and loaded into memory before being played, so you should keep that in mind if you wish to use compression in an already CPU intensive game.
You can mitigate this CPU overhead somewhat by choosing to
uncompress on load, which will place all the sounds into the device memory for faster playback, at the expense of increased memory use.
If you have chosen compressed audio, you can then also choose to have your sound streamed from disk too. A streamed sound will be one that is uncompressed and played in real time, streamed from the disc rather than loaded into memory. Streaming is ideal for music as it reduces the one-off overhead of uncompressing the whole file, which may cause a pause in the game, but is not recommended for simple sound effects where the hit on the CPU is much less.
It is important to note that when targeting the HTML5 platform.
streamed audio will not play on iOS when the play request does not directly originate from a user interaction (i.e: a touch event, etc.). However, since
GameMaker Studio 2 queues up click events and only handles them on the next frame, it is impossible to play streamed audio without the browser blocking it. To get around this, any HTML5 game run on an iOS browser will treat all streamed audio as unstreamed in the engine, with the exception of streamed audio not being preloaded.
What this means is that if your game is running on an iOS browser, and - for example - you have 10 music tracks that are all set as streamed mp3 files. All 10 will be initialised like unstreamed audio would, but they won't be decoded immediately before the game loads, unlike normal streamed audio which would get preloaded/decoded immediately during the load screen phase.
While this bypasses the iOS issue and prevents any huge increase in initial load times, it does mean that it may result in a state where your game has loaded, but certain streamed sounds may still be downloading or decoding. To deal with this you can use the GML function
audio_sound_is_playable(), which checks to see if a given sound can actually be played. On HTML5 this will return false if the sound is not fully loaded or decoded yet, and true if it is and can be played (on all other platforms it will always return true).