ExportAudio is added after the audio related functions in ExportAssets.
Audio related functions in ExportAssets is left as is for the sake of backward compatibility.
For the latest list of the functions, refer to “types.lua” file in the “EmbeddedScriptWorkspace” folder.
Function | Description |
---|---|
Play | Play the AudioClip specified with a file name. You can specify the volume and the loop. |
PlayFromIndex | Play the AudioClip specified with an index number. You can specify the volume and the loop. |
PlayOneShot | Play the AudioClip specified with file name once. You can only specify the volume, no looping. |
PlayOneShotFromIndex | Play the AudioClip specified with an index number once. You can only specify the volume, no looping. |
Stop | Stop the playback of the AudioClip specified with a file name. |
StopFromIndex | Stop the playback of the AudioClip specified with an index number. |
Pause | Pause the playback of the AudioClip specified with a file name. |
PauseFromIndex | Pause the playback of the AudioClip specified with an index number. |
The functions with _ALL_
are synchronized and run on other clients as well.
If you want the result to be the same in all clients, use functions with _ALL_
prefix.
Function | Description |
---|---|
_ALL_Play | Play the AudioClip specified with a file name. You can specify the volume and the loop. |
_ALL_PlayFromIndex | Play the AudioClip specified with an index number. You can specify the volume and the loop. |
_ALL_PlayOneShot | Play the AudioClip specified with file name once. You can only specify the volume, no looping. |
_ALL_PlayOneShotFromIndex | Play the AudioClip specified with index number once. You can only specify the volume, no looping. |
_ALL_Stop | Stop the playback of the AudioClip specified with a file name. |
_ALL_StopFromIndex | Stop the playback of the AudioClip specified with an index number. |
_ALL_Pause | Pause the playback of the AudioClip specified with a file name. |
_ALL_PauseFromIndex | Pause the playback of the AudioClip specified with an index number. |
When you are creating something that moves over a network, you have to take the synchronization into account.
In a scenario where there are three people (A, B and C) in a single Virtual Cast studio, the act of applying the result of person A moving an object to the computer of person B and C is called “synchronization.”
On the other hand, when something moves only in the computer of the person who moved it, that situation is called “working in local only.”
Following are the most common way of synchronization in VCI.
_ALL_
will be synchronized and run.
Basically, use the functions with _ALL_
so that the VCI behaves the same in every user's clients.
* For simple VCIs, such as the one that plays a sound, you can just call _ALL_
in an event function.
On the other hand, if you want everyone's VCIs to have varying states, make them run locally so that the states won't be synchronized.
For details on the synchronization of transform, refer to About VCI items and subitems.
1st argument: AudioClip name (String) 2nd argument: volume (number) 3rd argument: loop setting (bool)
Example
function onUse() -- loop play the audio if true. Play one-shot if false local audioLoop = true -- Specify the volume with a value between 0 and 1 local audioVolume = 0.5 -- Loop play "Audio1" vci.assets.audio._ALL_Play("Audio1", audioVolume, audioLoop) end function onUnuse() --Stop playing "Audio1" vci.assets.audio._ALL_Stop("Audio1") end
The result
(When used, loop play the "Audio1" with a volume of 0.5.) (Stop playing "Audio1" when unused.)
1st argument: index number (number) 2nd argument: volume (number) 3rd argument: loop setting (bool)
Example
function onUse() -- loop play the audio if true. Play one-shot if false local audioLoop = true -- Specify the volume with a value between 0 and 1 local audioVolume = 0.5 -- Loop play the AudioIndex0 vci.assets.audio._ALL_PlayFromIndex(0, audioVolume, audioLoop) end function onUnuse() --Stop playing AudioIndex0 vci.assets.audio._ALL_StopFromIndex(0) end
The result
(When used, loop play the AudioIndex0 with a volume of 0.5.) (Stop playing AudioIndex0 when unused.)
1st argument: AudioClip name (string) 2nd argument: volume (number)
Example
function onUse() -- Specify the volume with a value between 0 and 1 local audioVolume = 0.5 -- Loop play "Audio1" vci.assets.audio._ALL_PlayOneShot("Audio1", audioVolume) end
The result
(When used, play once the "Audio1" with a volume of 0.5.)
1st argument: index number (number) 2nd argument: volume (number)
Example
function onUse() -- Specify the volume with a value between 0 and 1 local audioVolume = 0.5 -- Loop play the AudioIndex0 vci.assets.audio._ALL_PlayOneShotFromIndex(0, audioVolume) end
The result
(When used, play once the AudioIndex0 with a volume of 0.5.)
1st argument: AudioClip name (string)
Example
function onUse() -- Loop play "Audio1" vci.assets.audio._ALL_Play("Audio1", 0.5, true) end function onUnuse() --Stop playing "Audio1" vci.assets.audio._ALL_Stop("Audio1") end
The result
(When used, loop play the "Audio1" with a volume of 0.5.) (Stop playing "Audio1" when unused.)
1st argument: index number (number)
Example
function onUse() -- Loop play the AudioIndex0 vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true) end function onUnuse() --Stop playing AudioIndex0 vci.assets.audio._ALL_StopFromIndex(0) end
The result
(When used, loop play the AudioIndex0 with a volume of 0.5.) (Stop playing AudioIndex0 when unused.)
1st argument: AudioClip name (string) 2nd argument: stop/play (bool)
Example
-- Loop play "Audio1" vci.assets.audio._ALL_Play("Audio1", 0.5, true) function onUse() -- Pause the playback of "Audio1" vci.assets.audio._ALL_Pause("Audio1", true) end function onUnuse() -- Cancel the pause of "Audio1" and resume the playback vci.assets.audio._ALL_Pause("Audio1", false) end
The result
(When the VCI is spawned, loop playback of "Audio1" starts.) (Pauses "Audio1" when used.) (Resume the playback of "Audio1" from the paused point when unused.)
1st argument: index number (number) 2nd argument: stop/play (bool)
Example
-- Loop play the AudioIndex0 vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true) function onUse() -- Pause the playback of AudioIndex0 vci.assets.audio._ALL_PauseFromIndex(0, true) end function onUnuse() -- Cancel the pause of AudioIndex0 and resume the playback vci.assets.audio._ALL_PauseFromIndex(0, false) end
The result
(When the VCI is spawned, loop playback of AudioIndex0 starts.) (Pauses AudioIndex0 when used.) (Resume the playback of AudioIndex0 from the paused point when unused.)