WebGL 中的音频与所有其他平台上的音频在处理方式上有所不同。在其他平台上,我们在内部使用 FMOD 来提供音频回放和混音。由于 WebGL 平台不支持线程,我们需要采用不同的实现方案,该方案在内部基于 Web 音频 API,允许浏览器为我们处理音频回放和混音。
不幸的是,这限制了 Unity WebGL 中的音频功能,只能支持最基本的功能。本页面将介绍预期有效的功能。WebGL 目前不支持此处未列出的任何其他功能。
音频源支持基本位置音频回放,具有暂停和恢复、平移、衰减、音高设置和多普勒效应支持。
支持以下 AudioSource
API:
属性:
clip
dopplerLevel
ignoreListenerPause
ignoreListenerVolume
isPlaying
loop
maxDistance
minDistance
mute
pitch
(请注意,仅支持正音高值。)playOnAwake
rolloffMode
time
timeSamples
velocityUpdateMode
volume
方法:
Pause
Play
PlayDelayed
PlayOneShot
PlayScheduled
SetScheduledEndTime
SetScheduledStartTime
Stop
UnPause
PlayClipAtPoint
支持所有 AudioListener
API。
WebGL 中的音频剪辑将始终以 AAC 格式导入,因为不同浏览器广泛支持该格式。
支持以下所有 AudioClip
API。
支持的 API:
属性:
方法:
Create
。部分支持 AudioClip.Create
:仅当 streaming 参数设置为 false 时才有效,并可在调用 AudioClip.Create 时加载完整的音频样本。然后,该函数将创建剪辑并在返回控制之前加载所有样本。SetData
。部分支持 AudioClip.SetData
:只能用于替换 AudioClip 的全部内容。offsetSamples
参数将被忽略。SystemInfo.supportsAudio
is not implemented on WebGL and always returns true.
如果音频剪辑采用浏览器本机支持的格式,则 WWW.audioClip
应该能在 WebGL 中工作。请参阅此处以获取不同浏览器中支持的格式列表。
WebGL 不支持 Microphone
类。