Skip to main content

Class: AudioDirector

Defined in: packages/webxr-environment/src/audio-director.ts:68

Constructors

Constructor

new AudioDirector(port: AudioPort, options?: AudioDirectorOptions): AudioDirector;

Defined in: packages/webxr-environment/src/audio-director.ts:82

Parameters

ParameterType
portAudioPort
optionsAudioDirectorOptions

Returns

AudioDirector

Accessors

activeVoices

Get Signature

get activeVoices(): readonly AudioVoice[];

Defined in: packages/webxr-environment/src/audio-director.ts:271

The voices the director believes are sounding.

Returns

readonly AudioVoice[]


masterGain

Get Signature

get masterGain(): number;

Defined in: packages/webxr-environment/src/audio-director.ts:119

Returns

number

Methods

cue()

cue(cueId: string): AudioCue | undefined;

Defined in: packages/webxr-environment/src/audio-director.ts:109

Parameters

ParameterType
cueIdstring

Returns

AudioCue | undefined


cueIds()

cueIds(): readonly string[];

Defined in: packages/webxr-environment/src/audio-director.ts:113

Returns

readonly string[]


dispose()

dispose(): void;

Defined in: packages/webxr-environment/src/audio-director.ts:295

Returns

void


getBusGain()

getBusGain(bus: string): number;

Defined in: packages/webxr-environment/src/audio-director.ts:132

A bus that has never been set reads 1.

Parameters

ParameterType
busstring

Returns

number


has()

has(cueId: string): boolean;

Defined in: packages/webxr-environment/src/audio-director.ts:105

Parameters

ParameterType
cueIdstring

Returns

boolean


isMuted()

isMuted(bus?: string): boolean;

Defined in: packages/webxr-environment/src/audio-director.ts:165

Parameters

ParameterType
bus?string

Returns

boolean


play()

play(cueId: string, options?: PlayOptions): AudioVoice | null;

Defined in: packages/webxr-environment/src/audio-director.ts:187

Play a cue. Returns the voice, or null when the request was dropped - an unknown cue, a throttle window, an ignore policy with the cue already sounding, or a one-shot that would have been silent anyway.

Dropping rather than throwing is deliberate: a missing sound must never take gameplay down with it, and by the time a cue id reaches here it has usually come from a feedback intent several layers away.

Parameters

ParameterType
cueIdstring
optionsPlayOptions

Returns

AudioVoice | null


register()

register(cue: AudioCue): void;

Defined in: packages/webxr-environment/src/audio-director.ts:95

Register a cue, replacing any cue already using that id.

Parameters

ParameterType
cueAudioCue

Returns

void


registerAll()

registerAll(cues: Iterable<AudioCue>): void;

Defined in: packages/webxr-environment/src/audio-director.ts:101

Parameters

ParameterType
cuesIterable<AudioCue>

Returns

void


resolveGain()

resolveGain(cueId: string, extra?: number): number;

Defined in: packages/webxr-environment/src/audio-director.ts:170

The absolute gain a play of cueId would resolve to right now.

Parameters

ParameterTypeDefault value
cueIdstringundefined
extranumber1

Returns

number


setBusGain()

setBusGain(bus: string, gain: number): void;

Defined in: packages/webxr-environment/src/audio-director.ts:136

Parameters

ParameterType
busstring
gainnumber

Returns

void


setMasterGain()

setMasterGain(gain: number): void;

Defined in: packages/webxr-environment/src/audio-director.ts:123

Parameters

ParameterType
gainnumber

Returns

void


setMuted()

setMuted(muted: boolean, bus?: string): void;

Defined in: packages/webxr-environment/src/audio-director.ts:150

Mute a bus, or everything when no bus is named. Muting is separate from gain so that unmuting restores the level the player set rather than a remembered one, which is the bug every "set it to zero" mute eventually grows.

Parameters

ParameterType
mutedboolean
bus?string

Returns

void


stop()

stop(voice: number | AudioVoice): void;

Defined in: packages/webxr-environment/src/audio-director.ts:251

Stop one voice. Safe to call on a voice that already finished.

Parameters

ParameterType
voicenumber | AudioVoice

Returns

void


stopAll()

stopAll(bus?: string): void;

Defined in: packages/webxr-environment/src/audio-director.ts:263

Stop everything, or everything on one bus.

Parameters

ParameterType
bus?string

Returns

void


stopCue()

stopCue(cueId: string): void;

Defined in: packages/webxr-environment/src/audio-director.ts:257

Stop every sounding voice of a cue.

Parameters

ParameterType
cueIdstring

Returns

void


update()

update(deltaMs: number): void;

Defined in: packages/webxr-environment/src/audio-director.ts:283

Retire one-shot voices whose declared durationMs has elapsed.

Only needed for a port that cannot report the end of playback. A port that calls ended retires its voices earlier and this finds nothing to do, so a host may call it unconditionally alongside the environment director's update and not care which kind of port it has.

Parameters

ParameterType
deltaMsnumber

Returns

void