Difference between revisions of "LlPlaySound"
Jump to navigation
Jump to search
m |
m (added link to "Sound Clips" which have the precise specs; added haiku; corrected minor pet peeves in grammar/spelling) |
||
(10 intermediate revisions by 7 users not shown) | |||
Line 11: | Line 11: | ||
|spec | |spec | ||
|caveats=*A call to llPlaySound replaces any other sound (so that only one sound can be played at the same time from the same prim), except sounds started with the deprecated [[llSound]] which always plays sound files till the end. | |caveats=*A call to llPlaySound replaces any other sound (so that only one sound can be played at the same time from the same prim), except sounds started with the deprecated [[llSound]] which always plays sound files till the end. | ||
*Sound files must be | *Sound files must be 30 seconds or shorter. | ||
*[[Sound Clips|Sounds are always sampled]] at 44.1KHz, 16-bit (unsigned), mono (stereo files will have one channel dropped — merged (as in combined) — when uploading). | |||
*If the object playing the sound is a {{HoverLink|HUD|Heads Up Display}}, the sound is only heard by the user the HUD is attached to. | *If the object playing the sound is a {{HoverLink|HUD|Heads Up Display}}, the sound is only heard by the user the HUD is attached to. | ||
**To play a sound inworld from a HUD use [[llTriggerSound]]. | **To play a sound inworld from a HUD use [[llTriggerSound]]. | ||
*It is impossible to play two (or more) sounds at the same time and have them start playing at exactly the same time ~ {{JIRA|VWR-15663}} | *It is impossible to play two (or more) sounds at the same time and have them start playing at exactly the same time ~ {{JIRA|VWR-15663}} | ||
**If multiple sound emitters play the same exact sound within range of the viewer at the same time, they are usually not in sync due to latency between the server/client and script execution & communication delays. This can produce | **If multiple sound emitters play the same exact sound within range of the viewer at the same time, they are usually not in sync due to latency between the server/client and script execution & communication delays. This can produce echoes, odd resonance, and other strange effects that you (probably) do not want. | ||
*When used in conjunction with [[llSetSoundQueueing]], sounds may incorrectly. [https://community.secondlife.com/forums/topic/443645-llplaysound-plays-the-sound-twice-or-more/ play more than once.] This can be fixed by disabling the sound queue if only a single sound sample is to be played. | |||
*Playing sounds is throttled. If the average number of played sounds per second exceeds the limit (22 sounds/s), all sounds from the object are suppressed until the average falls sufficiently. The throttle is per object, not per link or per script, so multiple links cannot be used to overcome the throttle. | |||
** Once the throttle is hit, the following error will be shown in debug channel: "Too many sound requests. Throttled until average falls." | |||
|constants | |constants | ||
|examples=< | |examples=<syntaxhighlight lang="lsl2"> | ||
default | default | ||
{ | { | ||
Line 25: | Line 29: | ||
} | } | ||
} | } | ||
</ | </syntaxhighlight> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llTriggerSound]]|3=Plays a sound {{HoverText|unattached|The sound does not | |also_functions={{LSL DefineRow||[[llTriggerSound]]|3=Plays a sound {{HoverText|unattached|The sound does not move with the prim}}.}} | ||
{{LSL DefineRow||[[llTriggerSoundLimited]]}} | {{LSL DefineRow||[[llTriggerSoundLimited]]}} | ||
{{LSL DefineRow||[[llLoopSound]]|3=Plays a sound {{HoverText|attached|The sound moves with the prim}}.}} | {{LSL DefineRow||[[llLoopSound]]|3=Plays a sound {{HoverText|attached|The sound moves with the prim}}.}} | ||
Line 33: | Line 37: | ||
{{LSL DefineRow||[[llLoopSoundSlave]]}} | {{LSL DefineRow||[[llLoopSoundSlave]]}} | ||
{{LSL DefineRow||[[llPlaySoundSlave]]}} | {{LSL DefineRow||[[llPlaySoundSlave]]}} | ||
{{LSL DefineRow||[[llSetSoundQueueing]]}} | {{LSL DefineRow||[[llSetSoundQueueing]]|3=Sets a prim property which allows sounds to be queued, instead of overwriting each other.}} | ||
{{LSL DefineRow||[[llStopSound]]}} | {{LSL DefineRow||[[llStopSound]]}} | ||
{{LSL DefineRow||[[llLinkPlaySound]]|3=Plays a sound from a prim in the linkset, with flexible options.}} | |||
{{LSL DefineRow||[[llPreloadSound]]|3=Preloads sound on viewers in range.}} | |||
{{LSL DefineRow||[[llAdjustSoundVolume]]|3=Adjusts volume of {{HoverText|attached|The sound moves with the prim}} sound.}} | |||
|also_events | |also_events | ||
|also_tests | |also_tests | ||
|also_articles | |also_articles={{LSL DefineRow|[[Sound Clips]]|3=Specifications for uploading sounds.}} | ||
|notes | |notes | ||
|cat1=Sound | |cat1=Sound | ||
Line 43: | Line 50: | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
|haiku={{Haiku|Mono sound it hums,|Sync lost, echoes' chaos drums—|HUD whispers alone.|author=ChatGPT Plus}} | |||
}} | }} |
Latest revision as of 04:23, 4 January 2025
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llPlaySound( string sound, float volume );0.0 | Forced Delay |
10.0 | Energy |
Plays attached sound once at volume
• string | sound | – | a sound in the inventory of the prim this script is in or a UUID of a sound | |
• float | volume | – | between 0.0 (silent) and 1.0 (loud) (0.0 <= volume <= 1.0 )
|
Caveats
- If sound is missing from the prim's inventory and it is not a UUID or it is not a sound then an error is shouted on DEBUG_CHANNEL.
- If sound is a UUID then there are no new asset permissions consequences for the object.
- The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
- A call to llPlaySound replaces any other sound (so that only one sound can be played at the same time from the same prim), except sounds started with the deprecated llSound which always plays sound files till the end.
- Sound files must be 30 seconds or shorter.
- Sounds are always sampled at 44.1KHz, 16-bit (unsigned), mono (stereo files will have one channel dropped — merged (as in combined) — when uploading).
- If the object playing the sound is a HUD, the sound is only heard by the user the HUD is attached to.
- To play a sound inworld from a HUD use llTriggerSound.
- It is impossible to play two (or more) sounds at the same time and have them start playing at exactly the same time ~ VWR-15663
- If multiple sound emitters play the same exact sound within range of the viewer at the same time, they are usually not in sync due to latency between the server/client and script execution & communication delays. This can produce echoes, odd resonance, and other strange effects that you (probably) do not want.
- When used in conjunction with llSetSoundQueueing, sounds may incorrectly. play more than once. This can be fixed by disabling the sound queue if only a single sound sample is to be played.
- Playing sounds is throttled. If the average number of played sounds per second exceeds the limit (22 sounds/s), all sounds from the object are suppressed until the average falls sufficiently. The throttle is per object, not per link or per script, so multiple links cannot be used to overcome the throttle.
- Once the throttle is hit, the following error will be shown in debug channel: "Too many sound requests. Throttled until average falls."
Examples
default
{
state_entry()
{
llPlaySound("some_sound",1.0);
}
}
See Also
Functions
• | llTriggerSound | – | Plays a sound unattached. | |
• | llTriggerSoundLimited | |||
• | llLoopSound | – | Plays a sound attached. | |
• | llLoopSoundMaster | |||
• | llLoopSoundSlave | |||
• | llPlaySoundSlave | |||
• | llSetSoundQueueing | – | Sets a prim property which allows sounds to be queued, instead of overwriting each other. | |
• | llStopSound | |||
• | llLinkPlaySound | – | Plays a sound from a prim in the linkset, with flexible options. | |
• | llPreloadSound | – | Preloads sound on viewers in range. | |
• | llAdjustSoundVolume | – | Adjusts volume of attached sound. |
Articles
• Sound Clips | – | Specifications for uploading sounds. |