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)

Keywords

system util playSoundClip, util.playSoundClip