From Bohemia Interactive Community
Jump to navigation Jump to search
Hover & click on the images for description


Plays positional sound with given filename on every computer on network. Since Arma 2.10 the leading slash in file path will be ignored.


playSound3D [filename, soundSource, isInside, soundPosition, volume, soundPitch, distance, offset, local]
filename: String - See Arma 3: Sound Files for available file names or Example 3 to use mission files
soundSource: Object - The object emitting the sound. If "sound position" is specified this parameter is ignored
isInside: Boolean - (Optional, default false) - true to simulate a sound played inside a building or similar
soundPosition: Array format PositionASL - (Optional, default [0,0,0]) Position for sound emitter. Will override "soundSource" position.
volume: Number - (Optional, default 1) Sound volume. A value greater than 5 gets capped
soundPitch: Number - (Optional, default 1)
  • 1.0 → normal
  • 0.5 → Darth Vader
  • 2.0 → Chipmunks
distance: Number - (Optional, default 0) How far the sound is audible, in meters. 0 means no maximum distance
since 25.2px2.00
offset: Number - (Optional, default 0) Offset in seconds. Same as with playMusic
since 25.2px2.06
local: Boolean - (Optional, default false) If true the sound will not be broadcast over network
Return Value:


Example 1:
playSound3D ["A3\Sounds_F\sfx\blip1.wss", player]
Example 2:
playSound3D ["A3\Sounds_F\sfx\blip1.wss", player, false, getPosASL player, 1, 1, 0]
Example 3:
playSound3D [getMissionPath "mySound.ogg", player]; // to play a mission directory sound
Example 4:
Sound file extension must be specified even if a config entry has none:
playSound3D ["A3\Sounds_F\sfx\alarm_independent", player]; // no sound playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", player]; // alarm

Additional Information

See also:
say3D playSound say2D say createSoundSource setRandomLip getMissionPath playSoundUI


Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on September 26, 2014 - 09:18 (UTC)
Killzone Kid
Currently, playSound3D is not JIP compatible, so joining players will not hear the sound if is started before and is still playing when player joins.
Posted on November 8, 2014 - 21:48 (UTC)
Killzone Kid
When object is supplied but not a position, the position is taken from object, otherwise the position is taken from supplied position. That doesn't mean that when position is taken from object it is going to follow object when it changes position. The sound is generated at object position and it stays there.

One other important note: If soundSource param is objNull then this command develops the same bug with first person view as createSoundSource and say3D. If soundSource is player then the bug is inverted. It seems that passing vehicle player as soundSource param is the only way to make it behave correctly when vehicles involved.
Posted on October 7, 2020 - 12:24 (UTC)
The sound will be distorted according to the Doppler effect when passing by the sound source quickly.