146 lines
8.9 KiB
XML
146 lines
8.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="AudioStreamPlayer3D" inherits="Spatial" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Plays positional sound in 3D space.
|
|
</brief_description>
|
|
<description>
|
|
Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space. For greater realism, a low-pass filter is automatically applied to distant sounds. This can be disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/code].
|
|
By default, audio is heard from the camera position. This can be changed by adding a [Listener] node to the scene and enabling it by calling [method Listener.make_current] on it.
|
|
See also [AudioStreamPlayer] to play a sound non-positionally.
|
|
[b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member unit_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing).
|
|
</description>
|
|
<tutorials>
|
|
<link>$DOCS_URL/tutorials/audio/audio_streams.html</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_playback_position">
|
|
<return type="float" />
|
|
<description>
|
|
Returns the position in the [AudioStream].
|
|
</description>
|
|
</method>
|
|
<method name="get_stream_playback">
|
|
<return type="AudioStreamPlayback" />
|
|
<description>
|
|
Returns the [AudioStreamPlayback] object associated with this [AudioStreamPlayer3D].
|
|
</description>
|
|
</method>
|
|
<method name="play">
|
|
<return type="void" />
|
|
<argument index="0" name="from_position" type="float" default="0.0" />
|
|
<description>
|
|
Plays the audio from the given position [code]from_position[/code], in seconds.
|
|
</description>
|
|
</method>
|
|
<method name="seek">
|
|
<return type="void" />
|
|
<argument index="0" name="to_position" type="float" />
|
|
<description>
|
|
Sets the position from which audio will be played, in seconds.
|
|
</description>
|
|
</method>
|
|
<method name="stop">
|
|
<return type="void" />
|
|
<description>
|
|
Stops the audio.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask" default="1">
|
|
Determines which [Area] layers affect the sound for reverb and audio bus effects. Areas can be used to redirect [AudioStream]s so that they play in a certain audio bus. An example of how you might use this is making a "water" area so that sounds played in the water are redirected through an audio bus to make them sound like they are being played underwater.
|
|
</member>
|
|
<member name="attenuation_filter_cutoff_hz" type="float" setter="set_attenuation_filter_cutoff_hz" getter="get_attenuation_filter_cutoff_hz" default="5000.0">
|
|
Dampens audio using a low-pass filter above this frequency, in Hz. To disable the dampening effect entirely, set this to [code]20500[/code] as this frequency is above the human hearing limit.
|
|
</member>
|
|
<member name="attenuation_filter_db" type="float" setter="set_attenuation_filter_db" getter="get_attenuation_filter_db" default="-24.0">
|
|
Amount how much the filter affects the loudness, in decibels.
|
|
</member>
|
|
<member name="attenuation_model" type="int" setter="set_attenuation_model" getter="get_attenuation_model" enum="AudioStreamPlayer3D.AttenuationModel" default="0">
|
|
Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.
|
|
</member>
|
|
<member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
|
|
If [code]true[/code], audio plays when the AudioStreamPlayer3D node is added to scene tree.
|
|
</member>
|
|
<member name="bus" type="String" setter="set_bus" getter="get_bus" default=""Master"">
|
|
The bus on which this audio is playing.
|
|
</member>
|
|
<member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="AudioStreamPlayer3D.DopplerTracking" default="0">
|
|
Decides in which step the [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] should be calculated.
|
|
[b]Note:[/b] Only effective if the current [Camera]'s [member Camera.doppler_tracking] property is set to a value other than [constant Camera.DOPPLER_TRACKING_DISABLED].
|
|
</member>
|
|
<member name="emission_angle_degrees" type="float" setter="set_emission_angle" getter="get_emission_angle" default="45.0">
|
|
The angle in which the audio reaches cameras undampened.
|
|
</member>
|
|
<member name="emission_angle_enabled" type="bool" setter="set_emission_angle_enabled" getter="is_emission_angle_enabled" default="false">
|
|
If [code]true[/code], the audio should be dampened according to the direction of the sound.
|
|
</member>
|
|
<member name="emission_angle_filter_attenuation_db" type="float" setter="set_emission_angle_filter_attenuation_db" getter="get_emission_angle_filter_attenuation_db" default="-12.0">
|
|
Dampens audio if camera is outside of [member emission_angle_degrees] and [member emission_angle_enabled] is set by this factor, in decibels.
|
|
</member>
|
|
<member name="max_db" type="float" setter="set_max_db" getter="get_max_db" default="3.0">
|
|
Sets the absolute maximum of the soundlevel, in decibels.
|
|
</member>
|
|
<member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
|
|
Sets the distance from which the [member out_of_range_mode] takes effect. Has no effect if set to 0.
|
|
</member>
|
|
<member name="out_of_range_mode" type="int" setter="set_out_of_range_mode" getter="get_out_of_range_mode" enum="AudioStreamPlayer3D.OutOfRangeMode" default="0">
|
|
Decides if audio should pause when source is outside of [member max_distance] range.
|
|
</member>
|
|
<member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
|
|
The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
|
|
</member>
|
|
<member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
|
|
If [code]true[/code], audio is playing.
|
|
</member>
|
|
<member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
|
|
The [AudioStream] resource to be played.
|
|
</member>
|
|
<member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
|
|
If [code]true[/code], the playback is paused. You can resume it by setting [member stream_paused] to [code]false[/code].
|
|
</member>
|
|
<member name="unit_db" type="float" setter="set_unit_db" getter="get_unit_db" default="0.0">
|
|
The base sound level unaffected by dampening, in decibels.
|
|
</member>
|
|
<member name="unit_size" type="float" setter="set_unit_size" getter="get_unit_size" default="1.0">
|
|
The factor for the attenuation effect. Higher values make the sound audible over a larger distance.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="finished">
|
|
<description>
|
|
Emitted when the audio stops playing.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="ATTENUATION_INVERSE_DISTANCE" value="0" enum="AttenuationModel">
|
|
Linear dampening of loudness according to distance.
|
|
</constant>
|
|
<constant name="ATTENUATION_INVERSE_SQUARE_DISTANCE" value="1" enum="AttenuationModel">
|
|
Squared dampening of loudness according to distance.
|
|
</constant>
|
|
<constant name="ATTENUATION_LOGARITHMIC" value="2" enum="AttenuationModel">
|
|
Logarithmic dampening of loudness according to distance.
|
|
</constant>
|
|
<constant name="ATTENUATION_DISABLED" value="3" enum="AttenuationModel">
|
|
No dampening of loudness according to distance. The sound will still be heard positionally, unlike an [AudioStreamPlayer]. [constant ATTENUATION_DISABLED] can be combined with a [member max_distance] value greater than [code]0.0[/code] to achieve linear attenuation clamped to a sphere of a defined size.
|
|
</constant>
|
|
<constant name="OUT_OF_RANGE_MIX" value="0" enum="OutOfRangeMode">
|
|
Mix this audio in, even when it's out of range. This increases CPU usage, but keeps the sound playing at the correct position if the camera leaves and enters the [AudioStreamPlayer3D]'s [member max_distance] radius.
|
|
</constant>
|
|
<constant name="OUT_OF_RANGE_PAUSE" value="1" enum="OutOfRangeMode">
|
|
Pause this audio when it gets out of range. This decreases CPU usage, but will cause the sound to restart if the camera leaves and enters the [AudioStreamPlayer3D]'s [member max_distance] radius.
|
|
</constant>
|
|
<constant name="DOPPLER_TRACKING_DISABLED" value="0" enum="DopplerTracking">
|
|
Disables doppler tracking.
|
|
</constant>
|
|
<constant name="DOPPLER_TRACKING_IDLE_STEP" value="1" enum="DopplerTracking">
|
|
Executes doppler tracking in idle step (every rendered frame).
|
|
</constant>
|
|
<constant name="DOPPLER_TRACKING_PHYSICS_STEP" value="2" enum="DopplerTracking">
|
|
Executes doppler tracking in physics step (every simulated physics frame).
|
|
</constant>
|
|
</constants>
|
|
</class>
|