AudioAPI
此内容尚不支持你的语言。
Defined in: audio/Audio.ts:87
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new AudioAPI(
backend,mixer?):AudioAPI
Defined in: audio/Audio.ts:129
Parameters
Section titled “Parameters”backend
Section titled “backend”mixer?
Section titled “mixer?”AudioMixer | null
Returns
Section titled “Returns”AudioAPI
Properties
Section titled “Properties”baseUrl
Section titled “baseUrl”baseUrl:
string=''
Defined in: audio/Audio.ts:127
Accessors
Section titled “Accessors”bufferBudget
Section titled “bufferBudget”Get Signature
Section titled “Get Signature”get bufferBudget():
number
Defined in: audio/Audio.ts:142
The effective warm-cache byte budget: an explicit override, else the
live RuntimeConfig.audioCacheBudget (so build-config changes apply
without plumbing). 0 disables the warm cache — a buffer is freed the
moment its refCount reaches 0.
Returns
Section titled “Returns”number
maxVoices
Section titled “maxVoices”Get Signature
Section titled “Get Signature”get maxVoices():
number
Defined in: audio/Audio.ts:581
Returns
Section titled “Returns”number
Methods
Section titled “Methods”dispose()
Section titled “dispose()”dispose():
void
Defined in: audio/Audio.ts:701
Returns
Section titled “Returns”void
ensureBus()
Section titled “ensureBus()”ensureBus(
name,parent?):boolean
Defined in: audio/Audio.ts:643
Ensure a named bus exists (creating it under parent ?? master).
False on backends without a mixer graph.
Parameters
Section titled “Parameters”string
parent?
Section titled “parent?”string
Returns
Section titled “Returns”boolean
getBufferHandle()
Section titled “getBufferHandle()”getBufferHandle(
url):AudioBufferHandle|undefined
Defined in: audio/Audio.ts:690
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”AudioBufferHandle | undefined
getBufferStats()
Section titled “getBufferStats()”getBufferStats():
AudioBufferStats
Defined in: audio/Audio.ts:216
Buffer residency counters — the observability side of the budget.
Returns
Section titled “Returns”getBusDucking()
Section titled “getBusDucking()”getBusDucking(
target):BusDuckRule|null
Defined in: audio/Audio.ts:681
Parameters
Section titled “Parameters”target
Section titled “target”string
Returns
Section titled “Returns”BusDuckRule | null
getBusEffects()
Section titled “getBusEffects()”getBusEffects(
busName):BusEffectDef[]
Defined in: audio/Audio.ts:671
Parameters
Section titled “Parameters”busName
Section titled “busName”string
Returns
Section titled “Returns”getBusVolume()
Section titled “getBusVolume()”getBusVolume(
busName):number
Defined in: audio/Audio.ts:515
Unity (1) for an unknown bus.
Parameters
Section titled “Parameters”busName
Section titled “busName”string
Returns
Section titled “Returns”number
getMasterVolume()
Section titled “getMasterVolume()”getMasterVolume():
number
Defined in: audio/Audio.ts:498
Mixerless backends (WeChat/Null) report unity volume and unmuted — the read-side mirror of the volume setters’ silent no-op there.
Returns
Section titled “Returns”number
getMusicVolume()
Section titled “getMusicVolume()”getMusicVolume():
number
Defined in: audio/Audio.ts:502
Returns
Section titled “Returns”number
getSFXVolume()
Section titled “getSFXVolume()”getSFXVolume():
number
Defined in: audio/Audio.ts:506
Returns
Section titled “Returns”number
getSpectrum()
Section titled “getSpectrum()”getSpectrum(
out):boolean
Defined in: audio/Audio.ts:697
Fill out with the master output’s frequency spectrum (0-255 per bin,
low→high) for visualizers. Returns false on backends without analysis
(e.g. WeChat) — callers should treat that as silence.
Parameters
Section titled “Parameters”Uint8Array
Returns
Section titled “Returns”boolean
getUIVolume()
Section titled “getUIVolume()”getUIVolume():
number
Defined in: audio/Audio.ts:510
Returns
Section titled “Returns”number
hasMixerGraph()
Section titled “hasMixerGraph()”hasMixerGraph():
boolean
Defined in: audio/Audio.ts:637
Whether this backend has a mixer graph at all.
The fact behind every false the bus calls below return, reported once so a
reader does not have to infer a capability from a failed write. Without one,
applyAudioProjectConfig applies maxVoices and stops before the bus
list — so an authored mixer is not partly applied, it is not applied.
Returns
Section titled “Returns”boolean
invalidateBuffer()
Section titled “invalidateBuffer()”invalidateBuffer(
url):boolean
Defined in: audio/Audio.ts:191
Drop a buffer whose source bytes changed (hot reload) so no future play or load serves stale audio. Safe while sounds are playing — live sources keep their own reference to the decoded data; only the cache entry goes, and the next play/load re-fetches fresh bytes. Returns true if the url was cached.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
isBusMuted()
Section titled “isBusMuted()”isBusMuted(
busName):boolean
Defined in: audio/Audio.ts:520
Parameters
Section titled “Parameters”busName
Section titled “busName”string
Returns
Section titled “Returns”boolean
muteBus()
Section titled “muteBus()”muteBus(
busName,muted):void
Defined in: audio/Audio.ts:618
Parameters
Section titled “Parameters”busName
Section titled “busName”string
boolean
Returns
Section titled “Returns”void
playBGM()
Section titled “playBGM()”playBGM(
url,config?):void
Defined in: audio/Audio.ts:382
Parameters
Section titled “Parameters”string
config?
Section titled “config?”crossFade?
Section titled “crossFade?”number
fadeIn?
Section titled “fadeIn?”number
volume?
Section titled “volume?”number
Returns
Section titled “Returns”void
playBuffer()
Section titled “playBuffer()”playBuffer(
buffer,config?):AudioHandle
Defined in: audio/Audio.ts:571
Play an already-resolved buffer. The one door every voice comes through —
a scripted playSFX, a playBGM, an AudioSource in the scene — so the
bus gain a backend without a mixer graph cannot apply, and the voice cap
priority is measured against, are decided once for all of them.
Parameters
Section titled “Parameters”buffer
Section titled “buffer”config?
Section titled “config?”Returns
Section titled “Returns”playSFX()
Section titled “playSFX()”playSFX(
url,config?):AudioHandle
Defined in: audio/Audio.ts:352
Parameters
Section titled “Parameters”string
config?
Section titled “config?”number
pitch?
Section titled “pitch?”number
priority?
Section titled “priority?”number
volume?
Section titled “volume?”number
Returns
Section titled “Returns”playTrack()
Section titled “playTrack()”playTrack(
url,config?):Promise<AudioHandle|null>
Defined in: audio/Audio.ts:338
Play a fully-RESOLVED clip URL on an explicit bus (created on demand under master). Unlike playSFX/playBGM this applies no ref resolution — the caller already holds the final URL (the video system’s audio track derives it from the resolved video source). Null when the clip can’t load; loaded buffers share the residency cache.
Parameters
Section titled “Parameters”string
config?
Section titled “config?”PlayConfig = {}
Returns
Section titled “Returns”Promise<AudioHandle | null>
preload()
Section titled “preload()”preload(
url):Promise<void>
Defined in: audio/Audio.ts:312
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
preloadAll()
Section titled “preloadAll()”preloadAll(
urls):Promise<void>
Defined in: audio/Audio.ts:323
Parameters
Section titled “Parameters”string[]
Returns
Section titled “Returns”Promise<void>
preloadFromData()
Section titled “preloadFromData()”preloadFromData(
url,data):Promise<void>
Defined in: audio/Audio.ts:327
Parameters
Section titled “Parameters”string
ArrayBuffer
Returns
Section titled “Returns”Promise<void>
releaseBuffer()
Section titled “releaseBuffer()”releaseBuffer(
url):void
Defined in: audio/Audio.ts:171
Unpin a buffer. At refCount 0 it becomes an evictable warm-cache entry (bounded by bufferBudget) — still instantly playable and revivable by retainBuffer — or is freed outright when the budget is 0.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
resume()
Section titled “resume()”resume():
void
Defined in: audio/Audio.ts:460
Resume the audio device after suspend.
Returns
Section titled “Returns”void
retainBuffer()
Section titled “retainBuffer()”retainBuffer(
url):boolean
Defined in: audio/Audio.ts:157
Pin a cached buffer: refCount + 1 (reviving an evictable entry back to held). Returns false on a miss — the caller must load and re-acquire. Every retain needs a matching releaseBuffer.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
setAssetResolver()
Section titled “setAssetResolver()”setAssetResolver(
resolver):void
Defined in: audio/Audio.ts:268
Parameters
Section titled “Parameters”resolver
Section titled “resolver”(url) => ArrayBuffer | null
Returns
Section titled “Returns”void
setBufferBudget()
Section titled “setBufferBudget()”setBufferBudget(
bytes):void
Defined in: audio/Audio.ts:147
Override the warm-cache byte budget; null returns to RuntimeConfig.
Parameters
Section titled “Parameters”number | null
Returns
Section titled “Returns”void
setBusDucking()
Section titled “setBusDucking()”setBusDucking(
target,rule):boolean
Defined in: audio/Audio.ts:677
Install (or clear with null) sidechain ducking on target — e.g. duck
‘music’ to 30% while ‘voice’ carries signal.
Parameters
Section titled “Parameters”target
Section titled “target”string
BusDuckRule | null
Returns
Section titled “Returns”boolean
setBusEffects()
Section titled “setBusEffects()”setBusEffects(
busName,effects):boolean
Defined in: audio/Audio.ts:664
Replace a bus’s DSP insert chain. No-op (false) on backends without a WebAudio graph (WeChat/Null) — same degradation as the volume APIs.
Parameters
Section titled “Parameters”busName
Section titled “busName”string
effects
Section titled “effects”Returns
Section titled “Returns”boolean
setBusVolume()
Section titled “setBusVolume()”setBusVolume(
busName,volume):void
Defined in: audio/Audio.ts:651
Parameters
Section titled “Parameters”busName
Section titled “busName”string
volume
Section titled “volume”number
Returns
Section titled “Returns”void
setMasterVolume()
Section titled “setMasterVolume()”setMasterVolume(
volume):void
Defined in: audio/Audio.ts:464
Parameters
Section titled “Parameters”volume
Section titled “volume”number
Returns
Section titled “Returns”void
setMaxVoices()
Section titled “setMaxVoices()”setMaxVoices(
max):void
Defined in: audio/Audio.ts:577
The voice ceiling; 0 or less means no cap.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
playBuffer
setMusicVolume()
Section titled “setMusicVolume()”setMusicVolume(
volume):void
Defined in: audio/Audio.ts:472
Parameters
Section titled “Parameters”volume
Section titled “volume”number
Returns
Section titled “Returns”void
setRefResolver()
Section titled “setRefResolver()”setRefResolver(
resolver):void
Defined in: audio/Audio.ts:279
Route play refs through the realm’s single asset resolver — the same
channel every other asset type resolves through (uuid manifest, cooked
logical→staged maps, project base). Takes precedence over the legacy
baseUrl prefix, so playSFX('assets/…') works in cooked builds whose
content-addressed staging renamed the physical files.
Parameters
Section titled “Parameters”resolver
Section titled “resolver”((ref) => string) | null
Returns
Section titled “Returns”void
setSFXVolume()
Section titled “setSFXVolume()”setSFXVolume(
volume):void
Defined in: audio/Audio.ts:480
Parameters
Section titled “Parameters”volume
Section titled “volume”number
Returns
Section titled “Returns”void
setUIVolume()
Section titled “setUIVolume()”setUIVolume(
volume):void
Defined in: audio/Audio.ts:488
Parameters
Section titled “Parameters”volume
Section titled “volume”number
Returns
Section titled “Returns”void
stopAll()
Section titled “stopAll()”stopAll():
void
Defined in: audio/Audio.ts:428
Returns
Section titled “Returns”void
stopBGM()
Section titled “stopBGM()”stopBGM(
fadeOut?):void
Defined in: audio/Audio.ts:436
Parameters
Section titled “Parameters”fadeOut?
Section titled “fadeOut?”number
Returns
Section titled “Returns”void
suspend()
Section titled “suspend()”suspend():
void
Defined in: audio/Audio.ts:455
Suspend the whole audio device (every voice, every bus) without touching any volume the user set — the device-level pause a fullscreen takeover (a rewarded ad, an OS interruption) wants, where per-bus volumes would fight the mixer’s own state. Balanced by resume.
Returns
Section titled “Returns”void
trimBufferCache()
Section titled “trimBufferCache()”trimBufferCache():
number
Defined in: audio/Audio.ts:203
Free every evictable warm-cache buffer now (memory pressure). Held buffers and the budget are untouched; the cache refills as buffers are released afterwards. Returns the number of buffers freed.
Returns
Section titled “Returns”number
updateDucking()
Section titled “updateDucking()”updateDucking():
void
Defined in: audio/Audio.ts:686
Advance duck envelopes (driven per-frame by AudioUpdateSystem).
Returns
Section titled “Returns”void
updateFades()
Section titled “updateFades()”updateFades(
dt):void
Defined in: audio/Audio.ts:722
Advance every fade by dt seconds — called once a frame by the audio
system, which is what makes a fade the game’s clock rather than the
browser’s: it pauses when the game does, and it exists on a device.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void