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:
属性
方法
AudioClip.Create
:仅当 streaming 参数设置为 false 时才有效,并可在调用 AudioClip.Create
时加载完整的音频样本。然后,该函数会创建剪辑并在返回控制之前加载所有样本。AudioClip.SetData
:只能用于替换 AudioClip 的全部内容。offsetSamples
参数将被忽略。SystemInfo.supportsAudio
在 WebGL 上未实现,并始终返回 true。
如果音频剪辑采用浏览器本机支持的格式,则 WWW.audioClip
应该能在 WebGL 中工作。请参阅 Mozilla 关于支持的媒体格式的文档以获取不同浏览器中支持的格式列表。
WebGL 不支持 Microphone
类。