wiki.sine.space | sinespace

Difference between revisions of "Scripting/SAudioSource"

From wiki.sine.space
Jump to: navigation, search
(Added PanStereo, SpatialBlend, Spatialize, SpatializePostEffects)
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/saudiosource")
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The SAudioSource class deals with the Audio Source component, which allows the object to play sounds in the scene.
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/saudiosource
 
+
==Properties==
+
 
+
{{ScriptFunction|bool|Enabled|{get;set;}|Is the Audio Source component enabled?|5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
function audioOnOff ()<br>
+
:hostObject.Audio.Enabled = not hostObject.Audio.Enabled;<br>
+
:Space.Log(hostObject.Audio.Enabled);<br>
+
end<br><br>
+
hostObject.SubscribeToEvents();<br>
+
hostObject.OnMouseDown(audioOnOff);<br>
+
''-- When the host object is clicked, the Audio Source component gets enabled, if it was disabled,'' <br>
+
''-- or disabled, if it was enabled, and its new state is printed to the console.''}}
+
 
+
{{ScriptFunction|bool|Loop|{get;set;}|Is looping of the sound clip enabled?|5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
Space.Log(hostObject.Audio.Loop);<br>
+
''-- False by default.''<br><br>
+
if not hostObject.Audio.Loop then<br>
+
:hostObject.Audio.Loop = true;<br>
+
end<br>
+
''-- Now it is looping.''}}
+
 
+
{{ScriptFunction|float|DopplerLevel|{get;set;}|The Doppler level of the Audio Source. (See: Doppler Effect)|5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
Space.Log(hostObject.Audio.DopplerLevel);<br>
+
''-- 1 by default''<br>
+
hostObject.Audio.DopplerLevel = 5;<br>
+
''-- The highest possible value''}}
+
 
+
{{ScriptFunction|float|Volume|{get;set;}|The Volume level of the Audio Source. |5=
+
hostObject = Space.Host.ExecutingObject;<br>
+
Space.Log(hostObject.Audio.Volume);<br>
+
''-- 1 by default''<br><br>
+
function audioVolumeDecr ()<br>
+
:if hostObject.Audio.Volume > 0 then<br>
+
::hostObject.Audio.Volume = hostObject.Audio.Volume - 0.2;<br>
+
:end<br>
+
:Space.Log(hostObject.Audio.Volume);<br>
+
end<br><br>
+
hostObject.SubscribeToEvents();<br>
+
hostObject.OnMouseDown(audioVolumeDecr);<br>
+
''-- Now, every time we click this object, the Volume level is decreased by 0.2, until it reaches 0.''}}
+
 
+
{{ScriptFunction|float|Pitch|{get;set;}|The Pitch level for the Audio Source. |5=
+
hostObject = Space.Host.ExecutingObject;<br>
+
Space.Log(hostObject.Audio.Pitch);<br>
+
''-- 1 by default''<br><br>
+
function audioPitchChange ()<br>
+
:if hostObject.Audio.Pitch < 3 then<br>
+
::hostObject.Audio.Pitch = hostObject.Audio.Pitch + 0.5;<br>
+
:end<br>
+
:Space.Log(hostObject.Audio.Pitch);<br>
+
end<br><br>
+
hostObject.SubscribeToEvents();<br>
+
hostObject.OnMouseDown(audioPitchChange);<br>
+
''-- Now, every time we click this object, the Pitch level is increased by 0.5, until it reaches 3.''}}
+
 
+
{{ScriptFunction|float|Time|{get;set;}|Playback position in seconds. |5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
Space.Log(hostObject.Audio.Time);<br>
+
''-- 0 by default (the beginning of the sound clip)''<br>
+
hostObject.Audio.Time = 15;<br>
+
''-- jumps to the 0:15 position of the sound clip''<br>
+
hostObject.Audio.Time = 75;<br>
+
''-- jumps to the 1:15 position of the sound clip''}}
+
 
+
{{ScriptFunction|bool|IsPlaying|{get;}|Is the sound clip playing right now? |5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
Space.Log(hostObject.Audio.IsPlaying);<br>
+
''-- prints True (by default), if the sound clip is playing, or False, if it doesn't, to the console''}}
+
 
+
{{ScriptFunction|float|PanStereo|{get;set;}|Pans the sound to the left or right. Values range from -1 to 1: 0 is the middle, -1 is full left, 1 is full right. |5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
Space.Log(hostObject.Audio.PanStereo);<br>
+
''-- Prints the current Pan Stereo level (0 by default)''<br>
+
hostObject.Audio.PanStereo = 0.5;<br>
+
''-- Pans the sound halfway from the middle to the right''}}
+
 
+
{{ScriptFunction|float|SpatialBlend|{get;set;}|The level of impact 3D effects make on the AudioSource. 0 - no impact (full 2D sound), 1 - maximum impact (full 3D sound).|5=
+
hostObject = Space.Host.ExecutingObject;<br><br>
+
function spBlendChange ()<br>
+
:if hostObject.Audio.SpatialBlend < 1 then<br>
+
::hostObject.Audio.SpatialBlend = hostObject.Audio.SpatialBlend + 0.2;<br>
+
:else<br>
+
::hostObject.Audio.SpatialBlend = 0;<br>
+
:end<br>
+
:Space.Log(hostObject.Audio.SpatialBlend);<br>
+
end<br><br>
+
hostObject.SubscribeToEvents();<br>
+
hostObject.OnMouseDown(spBlendChange);<br>
+
''-- Spatial Blend is increased by 0.2 every time the object is clicked, until it reaches 1.''
+
''-- Then with the next click, it resets back to 0.''}}
+
 
+
{{ScriptFunction|bool|Spatialize|{get;set;}|Is spatialization enabled? |5=
+
hostObject = Space.Host.ExecutingObject;<br>
+
Space.Log(hostObject.Audio.Spatialize);<br>
+
''-- Prints the current state of spatialization (False by default) to the console''<br>
+
hostObject.Audio.Spatialize = true;<br>
+
''-- Now spatialization is enabled''}}
+
 
+
{{ScriptFunction|bool|SpatializePostEffects|{get;set;}|Is spatialization enabled before or after other filters are in action? |5=
+
hostObject = Space.Host.ExecutingObject;<br>
+
''-- Because enabling this property makes sense only if spatialization itself is enabled, let's enable it first.''<br>
+
hostObject.Audio.Spatialize = true;<br><br>
+
if hostObject.Audio.Spatialize then<br>
+
:hostObject.Audio.SpatializePostEffects = true;<br>
+
end<br><br>
+
Space.Log(hostObject.Audio.SpatializePostEffects);<br>
+
''-- prints "True" to the console''}}
+

Latest revision as of 05:16, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/saudiosource