Sound In Code/en
Language subpage
This subpage is used on the Sound In Code page to display content in English.
If you have edited the language subpage, do not forget to purge the base page by clicking on the button on the right. Otherwise, its contents will not be updated.
Emit sound from entity
Use EmitSound
to emit a sound from a base entity:
EmitSound( "soundscript.file" );
The sound will follow whichever entity it is assigned to, based on the entity index provided to EmitSound
. If an entity index is provided, the position overload argument will not affect the position of the sound; to override this behaviour and have the sound play at the desired point in space, pass in -1 as the entity index:
EmitSound( filter, -1, "Weapon_ProxyBomb.LeadIn", &soundPosition );
See the CSoundEmitterSystem
class in SoundEmitterSystem.cpp for overloads and implementation details.
Play sounds anywhere
To play a sound on the client and without spatialisation (i.e. as an "ambient" sound), use the following code:
enginesound->EmitAmbientSound( "link/to/soundfile", 1.0f );
You may need to include #include "engine/ienginesound.h"
in order to get access to the interface.
Play sounds via VGUI interface
#include "vgui/ISurface.h"
#include "vgui_controls/Controls.h"
using namespace vgui;
surface()->PlaySound( "common/talk.wav" ); // Starts from the 'sound' folder