Class: AudioSystem
Defined in: packages/core/src/audio/audio-system.ts:26
Runtime audio manager that loads sources, pools players, and applies XR-aware behavior.
Remarks
- Creates an
AudioListener
on the player head and resumes/suspends the audio context when XR sessions start/end. - Pools
Audio
/PositionalAudio
instances per entity to minimize allocations and implements play/overlap/fade-restart behaviors. - Optionally culls distant positional audio by a distance multiplier.
Extends
System
<{cullingDistanceMultiplier
: {default
:number
;type
:Float32
; };enableDistanceCulling
: {default
:true
;type
:Boolean
; }; }, {audioEntities
: {required
:Component
<{_buffer
: {default
:any
;type
:Object
; };_fadeIn
: {default
:number
;type
:Float32
; };_fadeOut
: {default
:number
;type
:Float32
; };_instances
: {default
:any
;type
:Object
; };_isPlaying
: {default
:false
;type
:Boolean
; };_loaded
: {default
:false
;type
:Boolean
; };_loading
: {default
:false
;type
:Boolean
; };_pauseRequested
: {default
:false
;type
:Boolean
; };_playRequested
: {default
:false
;type
:Boolean
; };_pool
: {default
:any
;type
:Object
; };_stopRequested
: {default
:false
;type
:Boolean
; };autoplay
: {default
:false
;type
:Boolean
; };coneInnerAngle
: {default
:number
;type
:Float32
; };coneOuterAngle
: {default
:number
;type
:Float32
; };coneOuterGain
: {default
:number
;type
:Float32
; };crossfadeDuration
: {default
:number
;type
:Float32
; };distanceModel
: {default
:"inverse"
;enum
: {Exponential
:"exponential"
;Inverse
:"inverse"
;Linear
:"linear"
; };type
:Enum
; };instanceStealPolicy
: {default
:"oldest"
;enum
: {Furthest
:"furthest"
;Oldest
:"oldest"
;Quietest
:"quietest"
; };type
:Enum
; };loop
: {default
:false
;type
:Boolean
; };maxDistance
: {default
:number
;type
:Float32
; };maxInstances
: {default
:number
;type
:Int8
; };playbackMode
: {default
:"restart"
;enum
: {FadeRestart
:"fade-restart"
;Ignore
:"ignore"
;Overlap
:"overlap"
;Restart
:"restart"
; };type
:Enum
; };positional
: {default
:true
;type
:Boolean
; };refDistance
: {default
:number
;type
:Float32
; };rolloffFactor
: {default
:number
;type
:Float32
; };src
: {default
:string
;type
:String
; };volume
: {default
:number
;type
:Float32
; }; }>[]; }; },this
>
Constructors
Constructor
new AudioSystem(
_w
,_qm
,_p
):AudioSystem
Defined in: node_modules/.pnpm/elics@3.3.0/node_modules/elics/lib/system.d.ts:73
Parameters
_w
_qm
QueryManager
_p
number
Returns
AudioSystem
Inherited from
createSystem( { audioEntities: { required: [AudioSource] }, }, { /** Enable distance-based culling for positional audio instances. */ enableDistanceCulling: { type: Types.Boolean, default: true }, /** Multiplier applied to `maxDistance` for culling threshold. */ cullingDistanceMultiplier: { type: Types.Float32, default: 1.5 }, }, ).constructor
Properties
camera
readonly
camera:PerspectiveCamera
Defined in: packages/core/src/ecs/system.ts:60
Inherited from
cleanupFuncs
readonly
cleanupFuncs: () =>void
[]
Defined in: packages/core/src/ecs/system.ts:63
Returns
void
Inherited from
config
config:
SystemConfigSignals
<S
>
Defined in: packages/core/src/ecs/system.ts:48
Inherited from
createEntity()
createEntity: () =>
Entity
Defined in: packages/core/src/ecs/system.ts:69
Returns
Entity
Inherited from
globals
globals:
Record
<string
,any
>
Defined in: packages/core/src/ecs/system.ts:53
Inherited from
input
readonly
input:XRInputManager
Defined in: packages/core/src/ecs/system.ts:58
Inherited from
isPaused
isPaused:
boolean
Defined in: packages/core/src/ecs/system.ts:47
Inherited from
player
readonly
player:XROrigin
Defined in: packages/core/src/ecs/system.ts:57
Inherited from
priority
priority:
number
Defined in: packages/core/src/ecs/system.ts:52
Inherited from
queries
queries:
Record
<keyofQ
,Query
>
Defined in: packages/core/src/ecs/system.ts:49
Inherited from
queryManager
queryManager:
QueryManager
Defined in: packages/core/src/ecs/system.ts:51
Inherited from
renderer
readonly
renderer:WebGLRenderer
Defined in: packages/core/src/ecs/system.ts:61
Inherited from
scene
readonly
scene:Scene
Defined in: packages/core/src/ecs/system.ts:59
Inherited from
visibilityState
readonly
visibilityState:Signal
<VisibilityState
>
Defined in: packages/core/src/ecs/system.ts:62
Inherited from
world
world:
World
Defined in: packages/core/src/ecs/system.ts:50
Inherited from
xrFrame
xrFrame:
XRFrame
Defined in: packages/core/src/ecs/system.ts:55
Inherited from
xrManager
xrManager:
WebXRManager
Defined in: packages/core/src/ecs/system.ts:54
Inherited from
Methods
destroy()
destroy():
void
Defined in: packages/core/src/audio/audio-system.ts:597
Returns
void
Overrides
createSystem( { audioEntities: { required: [AudioSource] }, }, { /** Enable distance-based culling for positional audio instances. */ enableDistanceCulling: { type: Types.Boolean, default: true }, /** Multiplier applied to `maxDistance` for culling threshold. */ cullingDistanceMultiplier: { type: Types.Float32, default: 1.5 }, }, ).destroy
init()
init():
void
Defined in: packages/core/src/audio/audio-system.ts:43
Returns
void
Overrides
play()
play():
void
Defined in: packages/core/src/ecs/system.ts:67
Returns
void
Inherited from
stop()
stop():
void
Defined in: packages/core/src/ecs/system.ts:68
Returns
void
Inherited from
update()
update(
_delta
,_time
):void
Defined in: packages/core/src/audio/audio-system.ts:94
Parameters
_delta
number
_time
number
Returns
void