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
AudioListeneron the player head and resumes/suspends the audio context when XR sessions start/end. - Pools
Audio/PositionalAudioinstances 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
readonlycamera:PerspectiveCamera
Defined in: packages/core/src/ecs/system.ts:60
Inherited from
cleanupFuncs
readonlycleanupFuncs: () =>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
readonlyinput: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
readonlyplayer: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
readonlyrenderer:WebGLRenderer
Defined in: packages/core/src/ecs/system.ts:61
Inherited from
scene
readonlyscene:Scene
Defined in: packages/core/src/ecs/system.ts:59
Inherited from
visibilityState
readonlyvisibilityState: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