AudioStreamPlayer3D

package
v0.0.0-...-ff35923 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

Plays audio with positional sound effects, based on the relative position of the audio listener. Positional effects include distance attenuation, directionality, and the Doppler effect. For greater realism, a low-pass filter is applied to distant sounds. This can be disabled by setting Instance.AttenuationFilterCutoffHz to 20500.

By default, audio is heard from the camera position. This can be changed by adding an graphics.gd/classdb/AudioListener3D node to the scene and enabling it by calling graphics.gd/classdb/AudioListener3D.Instance.MakeCurrent on it.

See also graphics.gd/classdb/AudioStreamPlayer to play a sound non-positionally.

Note: Hiding an graphics.gd/classdb/AudioStreamPlayer3D node does not disable its audio output. To temporarily disable an graphics.gd/classdb/AudioStreamPlayer3D's audio output, set Instance.VolumeDb to a very low value like -100 (which isn't audible to human hearing).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsAudioStreamPlayer3D() Instance
}

type AttenuationModel

type AttenuationModel int //gd:AudioStreamPlayer3D.AttenuationModel
const (
	// Attenuation of loudness according to linear distance.
	AttenuationInverseDistance AttenuationModel = 0
	// Attenuation of loudness according to squared distance.
	AttenuationInverseSquareDistance AttenuationModel = 1
	// Attenuation of loudness according to logarithmic distance.
	AttenuationLogarithmic AttenuationModel = 2
	// No attenuation of loudness according to distance. The sound will still be heard positionally, unlike an [graphics.gd/classdb/AudioStreamPlayer]. [AttenuationDisabled] can be combined with a [Instance.MaxDistance] value greater than 0.0 to achieve linear attenuation clamped to a sphere of a defined size.
	AttenuationDisabled AttenuationModel = 3
)

type DopplerTracking

type DopplerTracking int //gd:AudioStreamPlayer3D.DopplerTracking
const (
	// Disables doppler tracking.
	DopplerTrackingDisabled DopplerTracking = 0
	// Executes doppler tracking during process frames (see [Node.NotificationInternalProcess]).
	DopplerTrackingIdleStep DopplerTracking = 1
	// Executes doppler tracking during physics frames (see [Node.NotificationInternalPhysicsProcess]).
	DopplerTrackingPhysicsStep DopplerTracking = 2
)

type Expanded

type Expanded [1]gdclass.AudioStreamPlayer3D

func (Expanded) Play

func (self Expanded) Play(from_position Float.X)

Queues the audio to play on the next physics frame, from the given position 'from_position', in seconds.

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsAudioStreamPlayer3D

func (self *Extension[T]) AsAudioStreamPlayer3D() Instance

func (*Extension[T]) AsNode

func (self *Extension[T]) AsNode() Node.Instance

func (*Extension[T]) AsNode3D

func (self *Extension[T]) AsNode3D() Node3D.Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Instance

type Instance [1]gdclass.AudioStreamPlayer3D

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AreaMask

func (self Instance) AreaMask() int

func (Instance) AsAudioStreamPlayer3D

func (self Instance) AsAudioStreamPlayer3D() Instance

func (Instance) AsNode

func (self Instance) AsNode() Node.Instance

func (Instance) AsNode3D

func (self Instance) AsNode3D() Node3D.Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AttenuationFilterCutoffHz

func (self Instance) AttenuationFilterCutoffHz() Float.X

func (Instance) AttenuationFilterDb

func (self Instance) AttenuationFilterDb() Float.X

func (Instance) AttenuationModel

func (self Instance) AttenuationModel() AttenuationModel

func (Instance) Autoplay

func (self Instance) Autoplay() bool

func (Instance) Bus

func (self Instance) Bus() string

func (Instance) DopplerTracking

func (self Instance) DopplerTracking() DopplerTracking

func (Instance) EmissionAngleDegrees

func (self Instance) EmissionAngleDegrees() Angle.Radians

func (Instance) EmissionAngleEnabled

func (self Instance) EmissionAngleEnabled() bool

func (Instance) EmissionAngleFilterAttenuationDb

func (self Instance) EmissionAngleFilterAttenuationDb() Angle.Radians

func (Instance) GetPlaybackPosition

func (self Instance) GetPlaybackPosition() Float.X

Returns the position in the graphics.gd/classdb/AudioStream.

func (Instance) GetStreamPlayback

func (self Instance) GetStreamPlayback() AudioStreamPlayback.Instance

Returns the graphics.gd/classdb/AudioStreamPlayback object associated with this graphics.gd/classdb/AudioStreamPlayer3D.

func (Instance) HasStreamPlayback

func (self Instance) HasStreamPlayback() bool

Returns whether the graphics.gd/classdb/AudioStreamPlayer can return the graphics.gd/classdb/AudioStreamPlayback object or not.

func (Instance) ID

func (self Instance) ID() ID

func (Instance) MaxDb

func (self Instance) MaxDb() Float.X

func (Instance) MaxDistance

func (self Instance) MaxDistance() Float.X

func (Instance) MaxPolyphony

func (self Instance) MaxPolyphony() int

func (Instance) OnFinished

func (self Instance) OnFinished(cb func(), flags ...Signal.Flags)

func (Instance) PanningStrength

func (self Instance) PanningStrength() Float.X

func (Instance) PitchScale

func (self Instance) PitchScale() Float.X

func (Instance) Play

func (self Instance) Play()

Queues the audio to play on the next physics frame, from the given position 'from_position', in seconds.

func (Instance) PlaybackType

func (self Instance) PlaybackType() AudioServer.PlaybackType

func (Instance) Playing

func (self Instance) Playing() bool

func (Instance) SeekTo

func (self Instance) SeekTo(to_position Float.X)

Sets the position from which audio will be played, in seconds.

func (Instance) SetAreaMask

func (self Instance) SetAreaMask(value int)

func (Instance) SetAttenuationFilterCutoffHz

func (self Instance) SetAttenuationFilterCutoffHz(value Float.X)

func (Instance) SetAttenuationFilterDb

func (self Instance) SetAttenuationFilterDb(value Float.X)

func (Instance) SetAttenuationModel

func (self Instance) SetAttenuationModel(value AttenuationModel)

func (Instance) SetAutoplay

func (self Instance) SetAutoplay(value bool)

func (Instance) SetBus

func (self Instance) SetBus(value string)

func (Instance) SetDopplerTracking

func (self Instance) SetDopplerTracking(value DopplerTracking)

func (Instance) SetEmissionAngleDegrees

func (self Instance) SetEmissionAngleDegrees(value Angle.Radians)

func (Instance) SetEmissionAngleEnabled

func (self Instance) SetEmissionAngleEnabled(value bool)

func (Instance) SetEmissionAngleFilterAttenuationDb

func (self Instance) SetEmissionAngleFilterAttenuationDb(value Angle.Radians)

func (Instance) SetMaxDb

func (self Instance) SetMaxDb(value Float.X)

func (Instance) SetMaxDistance

func (self Instance) SetMaxDistance(value Float.X)

func (Instance) SetMaxPolyphony

func (self Instance) SetMaxPolyphony(value int)

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) SetPanningStrength

func (self Instance) SetPanningStrength(value Float.X)

func (Instance) SetPitchScale

func (self Instance) SetPitchScale(value Float.X)

func (Instance) SetPlaybackType

func (self Instance) SetPlaybackType(value AudioServer.PlaybackType)

func (Instance) SetPlaying

func (self Instance) SetPlaying(value bool)

func (Instance) SetStream

func (self Instance) SetStream(value AudioStream.Instance)

func (Instance) SetStreamPaused

func (self Instance) SetStreamPaused(value bool)

func (Instance) SetUnitSize

func (self Instance) SetUnitSize(value Float.X)

func (Instance) SetVolumeDb

func (self Instance) SetVolumeDb(value Float.X)

func (Instance) SetVolumeLinear

func (self Instance) SetVolumeLinear(value Float.X)

func (Instance) Stop

func (self Instance) Stop()

Stops the audio.

func (Instance) Stream

func (self Instance) Stream() AudioStream.Instance

func (Instance) StreamPaused

func (self Instance) StreamPaused() bool

func (Instance) UnitSize

func (self Instance) UnitSize() Float.X

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

func (Instance) VolumeDb

func (self Instance) VolumeDb() Float.X

func (Instance) VolumeLinear

func (self Instance) VolumeLinear() Float.X

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL