Arma 3 Scripting

Command in Sounds

playSound

Also available as Markdown and JSON, or read the original wiki page.

Description

Plays a sound from CfgSounds. Sound can be defined in missionConfigFile, configFile or campaignConfigFile.

Syntax

Syntax 1

playSound soundName

Parameters:

Returns: Object - the speaker object (Nothing before Arma 3 v2.00)

Syntax 2

playSound [soundName, isSpeech, offset]

Parameters:

Returns: Object - the speaker object (Nothing before Arma 3 v2.00)

Examples

Example 1

playSound "soundname";

Example 2

Start a sound and then stop it after 1.2 second:

playSound "AlarmCar";
0 spawn
{
    _sound = ASLToAGL [0,0,0] nearestObject "#soundonvehicle";
    sleep 1.2;
    deleteVehicle _sound;
};

// since Arma 3 v2.00
_source = playSound "AlarmCar";
_source spawn
{
    sleep 1.2;
    deleteVehicle _this;
};

Example 3

Start a sound and wait until it is finished:

playSound "Alarm";
hint "Started!";
0 spawn
{
    _sound = ASLToAGL [0,0,0] nearestObject "#soundonvehicle";
    waitUntil {isNull _sound};
    hint "Finished!";
};

// since Arma 3 v2.00
private _source = playSound "Alarm";
_source spawn
{
    waitUntil { isNull _this };
    hint "Finished!";
};

See also

playSound3D · sideRadio · say · playMusic · say2D · say3D · createSoundSource · playSoundUI

Community notes

Hardrock

Notes from before the conversion:

For dialogue involving living units it is better to use say, playSound will play a sound at the location of the player, say will play a sound at the location of the unit that is speaking, and it will only play that sound if the unit is alive.

PiZZADOX

As you may have noticed, the parameter for playsound/say3d that deals with the "volume" of the sound played has little to do with the effective loudness heard in game. What it is alters is the drop off for fading the sound at a distance. A higher decibel or integer value will increase the distance before any sort of fading will take place. The actual volume of the sound file played will factor in to this, as it does throughout the playing action. ==== Amplifying the Sound ==== Modifying the effective volume of sounds played by the engine is possible by "spamming" the sounds. By quickly playing the sounds overtop of one another, you can effectively amplify the volume

This example

playSound "soundname";
playSound "soundname";

Will effectively amplify the sound by a sensed 2x. The volume of the sound file itself will still affect the sound volume as it appears as though the arma engine has no normalization for sound files added to it.

Note

This technique may cause issues in sound quality in large multiplayer servers. I observed multiple instances when a triggered sound amplified with this method was out of sync with each other. Timing of the individual commands sent over the network is probably the issue. Recommend you compile your amplification code into a single finished function for better syncing for clients not activating the action/far away from the activation position.