AudioPlayer

Show Deprecated

AudioPlayer is used to play audio assets. It provides a single Output pin which can be connected to other pins via Wires.

Code Samples

Outputting Audio to Device

local audioPlayer : AudioPlayer = Instance.new("AudioPlayer")
audioPlayer.Parent = workspace
audioPlayer.AssetId = "rbxassetid://9112854440"
local deviceOutput = Instance.new("AudioDeviceOutput")
deviceOutput.Parent = workspace
local wire = Instance.new("Wire")
wire.Parent = workspace
wire.SourceInstance = audioPlayer
wire.TargetInstance = deviceOutput
audioPlayer:Play()

Summary

Properties

Methods

Events

Properties

AssetId

Read Parallel

The asset to be loaded into the AudioPlayer. If AutoLoad is true, the asset loads immediately once this property is assigned. When loading is complete, IsReady becomes true.

AutoLoad

Read Parallel

Controls whether AssetId loads automatically once assigned. If false, the asset will load upon the first attempt to play.

IsPlaying

Read Parallel
Roblox Security

Denotes whether this AudioPlayer is currently playing. This property is read-only, but replicates. To play and stop an AudioPlayer at runtime, use the Play() and Stop() methods.

IsReady

Read Only
Not Replicated
Read Parallel

Denotes whether this AudioPlayer is loaded, buffered, and ready to play. Although uncommon, AudioPlayers may have their assets unloaded at runtime if there is extreme memory pressure, in which case IsReady will become false.

LoopRegion

Read Parallel

A range, in seconds, denoting a desired loop start and loop end within the PlaybackRegion of this AudioPlayer.

If the LoopRegion minimum is greater than the PlaybackRegion minimum, the loop starts from the LoopRegion minimum.

If the LoopRegion minimum is less than the PlaybackRegion minimum, the loop starts from the PlaybackRegion minimum.

If the LoopRegion maximum is greater than the PlaybackRegion maximum, the loop ends at the PlaybackRegion maximum.

If the LoopRegion maximum is less than the PlaybackRegion maximum, the loop ends at exactly the LoopRegion maximum.

If the LoopRegion minimum equals the LoopRegion maximum, the AudioPlayer uses the PlaybackRegion property instead.

Looping

Read Parallel

Controls whether this AudioPlayer loops when exceeding the end of its TimeLength, LoopRegion, or PlaybackRegion.

PlaybackRegion

Read Parallel

Range in seconds denoting a desired start time (minimum) and stop time (maximum) within the TimeLength.

If the PlaybackRegion minimum is greater than 0, the sound begins playing from the PlaybackRegion minimum time.

If the PlaybackRegion minimum is less than 0, the sound begins playing from 0.

If the PlaybackRegion maximum is greater than the TimeLength, the sound stops at TimeLength.

If the PlaybackRegion maximum is less than the TimeLength, the sound stops at exactly the PlaybackRegion maximum.

If the PlaybackRegion minimum equals the PlaybackRegion maximum, the sound plays in its entirety.

PlaybackSpeed

Read Parallel

Multiplier controlling how quickly the asset will be played, directly controlling its perceived pitch. Ranges from 0 to 20.

TimeLength

Read Only
Not Replicated
Read Parallel

Denotes the length of the loaded AssetId in seconds.

TimePosition

Read Parallel

Tracks and controls the current position of the playhead within the AssetId, in seconds.

Volume

Read Parallel

Volume level which is multiplied onto the output audio stream, controlling how loudly the asset will be played. Ranges from 0 to 3.

Methods

GetConnectedWires

Instances

Returns an array of Wires that are connected to the specified pin. AudioPlayer has one "Output" pin.

Parameters

pin: string

Returns

Instances

Play

void

Plays the AudioPlayer from wherever its TimePosition is. Replicates from server to client.


Returns

void

Stop

void

Stops the AudioPlayer wherever its TimePosition is. Replicates from server to client.


Returns

void

GetWaveformAsync

Yields

Parameters

timeRange: NumberRange
samples: number

Returns

Events

Ended

Fires after the AudioPlayer has completed playback and stopped. Note this event will not fire for audio with Looped set to true since it continues playing upon reaching its end. This event will also not fire when the audio is stopped before playback has completed; for this, use AudioPlayer:GetPropertyChangedSignal() on the IsPlaying property.

This event is often used to destroy an AudioPlayer when it has completed playback.


Looped

Event that fires after the AudioPlayer loops. This happens when the audio reaches the end of its content (or the end of the LoopRegion if it is active) and Looping is true.

This event does not fire if the audio is looped manually by changing its TimePosition.