Skip to main content
Version: 8.1

system.util.playSoundClip

This function is used in Python Scripting.

Description​

Plays a sound clip from a wav file to the system's default audio device. The wav file can be specified as a filepath, a URL, or directly as a raw List[Byte].

A Word on Scope​

While this function is technically scoped for Gateway and Perspective Sessions, it's intended for use in Vision Clients.

When calling this function from the Gateway scope, the sound will not play unless the operating system has been configured to allow services to play sounds (an uncommon scenario).

When calling this function from Perspective, the script also executes on the Gateway, meaning the caveat above about allowing services to play sounds is a factor. In addition, the sound will play on the Gateway, not the session. To play sounds from a Perspective Session, it's recommended to use the play() component method on the Perspective Audio component.

Client Permission Restrictions​

This scripting function has no Client Permission restrictions.

Syntax - Using a Byte List​

system.util. playSoundClip(wavBytes, [volume], [wait])

Parameters​

TypeParameterDescription
List[Byte]wavBytesA byte list of a wav file.
FloatvolumeThe clip's volume, represented as a floating point number between 0.0 and 1.0. [optional]
BooleanwaitA boolean flag indicating whether or not the call to playSoundClip should block further script execution within the triggering event until the clip finishes. Useful in cases where code on lines after the playSoundClip call should wait until the sound clip finishes playing. [optional]

Returns​

Nothing

Scope​

Gateway*, Vision Client, Perspective Session*
*See A Word on Scope above.

Syntax - Using a Filepath or URL​

system.util.playSoundClip(wavFile [, volume] [, wait])

Parameters​

TypeParameterDescription
StringwavFileA filepath or URL that represents a wav file.
FloatvolumeThe clip's volume, represented as a floating point number between 0.0 and 1.0. [optional]
BooleanwaitA boolean flag indicating whether or not the call to playSoundClip should block further script execution within the triggering event until the clip finishes. Useful in cases where code on lines after the playSoundClip call should wait until the sound clip finishes playing. [optional]

Returns​

Nothing

Scope​

Gateway*, Vision Client, Perspective Session*
*See A Word on Scope above.

Code Examples​

Example #1
# This code would play a sound clip at full volume that was located on the current
# host's filesystem. It will not return until the clip in finished playing.
system.util.playSoundClip("C:\\sounds\\siren.wav")
Example #2
# This code would pull a sound clip out of a BLOB field from a database,
# playing it asynchronously at half volume.

query = "SELECT wavBlob FROM sounds WHERE type='alert_high'"
soundData = system.db.runScalarQuery(query)

system.util.playSoundClip(soundData, 0.5, 0)