SDL Wiki
(This function is part of SDL_mixer, a separate library from SDL.)


Set the volume for a specific chunk.

Header File

Defined in <SDL_mixer.h>


int Mix_VolumeChunk(Mix_Chunk *chunk, int volume);

Function Parameters

Mix_Chunk * chunk the chunk whose volume to adjust.
int volume the new volume, between 0 and MIX_MAX_VOLUME, or -1 to query.

Return Value

(int) Returns the previous volume. If the specified volume is -1, this returns the current volume. If chunk is NULL, this returns -1.


In addition to channels having a volume setting, individual chunks also maintain a separate volume. Both values are considered when mixing, so both affect the final attenuation of the sound. This lets an app adjust the volume for all instances of a sound in addition to specific instances of that sound.

The volume must be between 0 (silence) and MIX_MAX_VOLUME (full volume). Note that MIX_MAX_VOLUME is 128. Values greater than MIX_MAX_VOLUME are clamped to MIX_MAX_VOLUME.

Specifying a negative volume will not change the current volume; as such, this can be used to query the current volume without making changes, as this function returns the previous (in this case, still-current) value.

The default volume for a chunk is MIX_MAX_VOLUME (no attenuation).


This function is available since SDL_mixer 2.0.0.

CategoryAPI, CategoryAPIFunction

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.