logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_SetAudioDeviceGain - Change the gain of an audio device.

Availability

       This function is available since SDL 3.2.0.

Description

       The  gain  of  a  device  is  its  volume; a larger gain means a louder output, with a gain of zero being
       silence.

       Audio devices default to a gain of 1.0f (no change in output).

       Physical devices may not have their gain changed, only logical devices, and  this  function  will  always
       return  false  when  used  on  physical devices. While it might seem attractive to adjust several logical
       devices at once in this way, it would allow an app or library to interfere with another  portion  of  the
       program's otherwise-isolated devices.

       This  is  applied,  along  with  any  per-audiostream  gain,  during playback to the hardware, and can be
       continuously changed to create various effects. On recording devices, this will adjust  the  gain  before
       passing  the  data  into an audiostream; that recording audiostream can then adjust its gain further when
       outputting the data elsewhere, if it likes, but that second gain is not applied until the data leaves the
       audiostream again.

Function Parameters

devid  the audio device on which to change gain.

       gain   the gain. 1.0f is no change, 0.0f is silence.

Name

       SDL_SetAudioDeviceGain - Change the gain of an audio device.

Return Value

       for more information.

See Also

SDL_GetAudioDeviceGain(3)

Simple Directmedia Layer                           SDL 3.2.20                          SDL_SetAudioDeviceGain(3)

Synopsis

#include<SDL3/SDL_audio.h>boolSDL_SetAudioDeviceGain(SDL_AudioDeviceIDdevid,floatgain);

Thread Safety

       It is safe to call this function from any thread, as it holds a stream-specific mutex while running.

See Also