在WebGL中使用音频
WebGL中的音频在所有其他平台上完成不同。在其他平台上,我们使用FMOD内部提供音频播放和混音。由于WebGL平台不支持线程,因此我们需要使用不同的实现,这种实现在内部基于Web Audio API,可让浏览器为我们处理音频播放和混音。
不幸的是,这限制了Unity WebGL的音频功能,只支持最基本的功能。这个页面将记录预期的工作。目前没有列出的任何东西在WebGL上都不支持。
AudioSource
音频源支持基本的位置音频播放,包括暂停和恢复,平移,滚降,音高设置和多普勒效应支持。
The following AudioSource APIs are supported:
Properties:
- clip
- dopplerLevel
- ignoreListenerPause
- ignoreListenerVolume
- isPlaying
- loop
- maxDistance
- minDistance
- mute
- pitch(Note that only positive values for pitch are supported.)
- playOnAwake
- rolloffMode
- time
- timeSamples
- velocityUpdateMode
- volume
Methods:
- Pause
- Play
- PlayDelayed
- PlayOneShot
- PlayScheduled
- SetScheduledEndTime
- SetScheduledStartTime
- Stop
- UnPause
- PlayClipAtPoint
AudioListener
所有AudioListener API都受支持。
AudioClip
WebGL中的音频剪辑将始终以AAC格式导入,因为它受到不同浏览器的广泛支持。
以下所有AudioClip API均受支持。 API支持:
Properties:
Methods:
-
Create
AudioClip.Create
部分受支持:只有在流参数设置为false并且可以在调用AudioClip.Create时加载完整的音频采样时才能使用。然后它将创建剪辑并在返回控制之前加载所有样本。 -
SetData
AudioClip.SetData
部分支持:它只能用于替换音频剪辑的全部内容。 offsetSamples参数被忽略。
WWW.audioClip
如果音频剪辑采用浏览器原生支持的格式,则WWW.audioClip应该在WebGL中工作。在这里查看不同浏览器支持的格式列表。
Microphone
WebGL 不支持 Microphone 类.
Unity WebGL 中文文档 Unity 2018.1.b
1. WebGL
2. webGL Browser Compatibility
3. Building and running a WebGL project
4. WebGL: Deploying compressed builds
5. Debugging and trouble shooting WebGL builds
6. WebGL Graphics
7. WebGL Networking
8. Using Audio In WebGL
9. WebGL performance considerations
10. WebGL: Interacting with browser scripting
11. Using WebGL Templates
12. Cursor locking and full-screen mode in WebGL
13. Input in WebGL