(Added Volume, Pitch, Time, IsPlaying) |
(Added PanStereo, SpatialBlend, Spatialize, SpatializePostEffects) |
||
Line 71: | Line 71: | ||
Space.Log(hostObject.Audio.IsPlaying);<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''}} | ''-- 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''}} |
The SAudioSource class deals with the Audio Source component, which allows the object to play sounds in the scene.
Is the Audio Source component enabled?
function audioOnOff ()
end
hostObject.SubscribeToEvents();
hostObject.OnMouseDown(audioOnOff);
-- When the host object is clicked, the Audio Source component gets enabled, if it was disabled,
Is looping of the sound clip enabled?
Space.Log(hostObject.Audio.Loop);
-- False by default.
if not hostObject.Audio.Loop then
end
The Doppler level of the Audio Source. (See: Doppler Effect)
Space.Log(hostObject.Audio.DopplerLevel);
-- 1 by default
hostObject.Audio.DopplerLevel = 5;
The Volume level of the Audio Source.
Space.Log(hostObject.Audio.Volume);
-- 1 by default
function audioVolumeDecr ()
end
hostObject.SubscribeToEvents();
hostObject.OnMouseDown(audioVolumeDecr);
The Pitch level for the Audio Source.
Space.Log(hostObject.Audio.Pitch);
-- 1 by default
function audioPitchChange ()
end
hostObject.SubscribeToEvents();
hostObject.OnMouseDown(audioPitchChange);
Playback position in seconds.
Space.Log(hostObject.Audio.Time);
-- 0 by default (the beginning of the sound clip)
hostObject.Audio.Time = 15;
-- jumps to the 0:15 position of the sound clip
hostObject.Audio.Time = 75;
Is the sound clip playing right now?
Space.Log(hostObject.Audio.IsPlaying);
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.
Space.Log(hostObject.Audio.PanStereo);
-- Prints the current Pan Stereo level (0 by default)
hostObject.Audio.PanStereo = 0.5;
The level of impact 3D effects make on the AudioSource. 0 - no impact (full 2D sound), 1 - maximum impact (full 3D sound).
function spBlendChange ()
end
hostObject.SubscribeToEvents();
hostObject.OnMouseDown(spBlendChange);
-- Spatial Blend is increased by 0.2 every time the object is clicked, until it reaches 1.
Is spatialization enabled?
Space.Log(hostObject.Audio.Spatialize);
-- Prints the current state of spatialization (False by default) to the console
hostObject.Audio.Spatialize = true;
Is spatialization enabled before or after other filters are in action?
-- Because enabling this property makes sense only if spatialization itself is enabled, let's enable it first.
hostObject.Audio.Spatialize = true;
if hostObject.Audio.Spatialize then
end
Space.Log(hostObject.Audio.SpatializePostEffects);