AudioAPI
此内容尚不支持你的语言。
Defined in: audio/Audio.ts:124
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new AudioAPI(
backend,mixer?):AudioAPI
Defined in: audio/Audio.ts:175
Parameters
Section titled “Parameters”backend
Section titled “backend”mixer?
Section titled “mixer?”AudioMixer | null = null
Returns
Section titled “Returns”AudioAPI
Properties
Section titled “Properties”baseUrl
Section titled “baseUrl”baseUrl:
string=''
Defined in: audio/Audio.ts:173
Accessors
Section titled “Accessors”bufferBudget
Section titled “bufferBudget”Get Signature
Section titled “Get Signature”get bufferBudget():
number
Defined in: audio/Audio.ts:196
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
delivery
Section titled “delivery”Get Signature
Section titled “Get Signature”get delivery():
AudioDelivery
Defined in: audio/Audio.ts:184
What this platform’s backend needs in order to play a clip — asked by the
asset loader, so a url backend is not made to wait on a fetch whose
bytes it then drops. See AudioDelivery.
Returns
Section titled “Returns”maxVoices
Section titled “maxVoices”Get Signature
Section titled “Get Signature”get maxVoices():
number
Defined in: audio/Audio.ts:770
Returns
Section titled “Returns”number
Methods
Section titled “Methods”dispose()
Section titled “dispose()”dispose():
void
Defined in: audio/Audio.ts:923
Returns
Section titled “Returns”void
ensureBus()
Section titled “ensureBus()”ensureBus(
name,parent?):boolean
Defined in: audio/Audio.ts:865
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:912
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”AudioBufferHandle | undefined
getBufferStats()
Section titled “getBufferStats()”getBufferStats():
AudioBufferStats
Defined in: audio/Audio.ts:289
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:903
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:893
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:704
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:687
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:691
Returns
Section titled “Returns”number
getSFXVolume()
Section titled “getSFXVolume()”getSFXVolume():
number
Defined in: audio/Audio.ts:695
Returns
Section titled “Returns”number
getSpectrum()
Section titled “getSpectrum()”getSpectrum(
out):boolean
Defined in: audio/Audio.ts:919
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:699
Returns
Section titled “Returns”number
hasMixerGraph()
Section titled “hasMixerGraph()”hasMixerGraph():
boolean
Defined in: audio/Audio.ts:859
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:240
End cached and pending loads for changed source bytes. Playing sources keep their decoded data; later loads fetch fresh. Returns whether a load ended.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
isBusMuted()
Section titled “isBusMuted()”isBusMuted(
busName):boolean
Defined in: audio/Audio.ts:709
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:840
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:523
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:760
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:492
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:477
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:442
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
preloadAll()
Section titled “preloadAll()”preloadAll(
urls):Promise<void>
Defined in: audio/Audio.ts:454
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:464
Cache url’s clip from bytes the caller already holds. url is the
AUTHORED path this API is addressed by (the key retainBuffer and
getBufferHandle take); the backend is handed the RESOLVED source, which
for a url-delivery backend is the only thing it plays.
Parameters
Section titled “Parameters”string
ArrayBuffer
Returns
Section titled “Returns”Promise<void>
releaseBuffer()
Section titled “releaseBuffer()”releaseBuffer(
url):void
Defined in: audio/Audio.ts:225
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:639
Resume the audio device after suspend.
Returns
Section titled “Returns”void
retainBuffer()
Section titled “retainBuffer()”retainBuffer(
url):boolean
Defined in: audio/Audio.ts:211
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:370
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:201
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:899
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:886
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:873
Parameters
Section titled “Parameters”busName
Section titled “busName”string
volume
Section titled “volume”number
Returns
Section titled “Returns”void
setLoadTypes()
Section titled “setLoadTypes()”setLoadTypes(
types):void
Defined in: audio/Audio.ts:279
How each clip the importer was told about is held. Keyed by the clip’s project-relative path, the way
the asset loader and play address it; anything absent is auto. A clip already loaded keeps how it
was loaded until it is reloaded.
Parameters
Section titled “Parameters”Readonly<Record<string, AudioLoadType>> | null
Returns
Section titled “Returns”void
setMasterVolume()
Section titled “setMasterVolume()”setMasterVolume(
volume):void
Defined in: audio/Audio.ts:653
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:766
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:661
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:381
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:669
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:677
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:571
Returns
Section titled “Returns”void
stopBGM()
Section titled “stopBGM()”stopBGM(
fadeOut?):void
Defined in: audio/Audio.ts:609
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:632
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:265
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 unique decoded buffers freed.
Returns
Section titled “Returns”number
updateDucking()
Section titled “updateDucking()”updateDucking():
void
Defined in: audio/Audio.ts:908
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:940
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