未验证 提交 72ac7772 编写于 作者: ocean2o11's avatar ocean2o11 提交者: GitHub

Update AudioOptimization.md

修改音频路径说明
上级 51d67dfa
# 音频优化
由于导出成WEBGL的游戏,音频处理上存在一定的性能损耗,建议直接调用SDK中的音频API直接控制播放,能达到不错效果。使用微信音频API后音频无需再监听onAudioInterruptionBegin,onAudioInterruptionEnd事件,插件会自动处理。
# 为何需要音频优化
1. Unity2021版本之前的音频不支持压缩音频,在引擎CPU侧解压会消耗大量内存
2. iOS高性能模式下,Unity WebGL默认使用WebAudio会消耗游戏进程大量内存(特别是时长较大的音频)
我们建议将Unity Audio替换成SDK中的音频API控制播放。如果工作量太大,也建议替换长音频(如BGM)。
## API使用
### 长音频的使用
代码如下,可参考[微信开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html),其中src为音频地址,可填本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址。注意长音频使用时,音频对象是不还被缓存的,需要直接缓存音频对象(就是WX.CreateInnerAudioContext的对象需要自己缓存),不然每次都会重新加载
### 接口使用
代码如下,可参考[微信开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html),其中src为音频地址,可填本地路径如 xx.wav,运行时会自动和配置的音频地址前缀(默认为DATA_CDN/Assets)做拼接得到最终线上地址
* 使用方法一:
为了减少用户等待时间和避免音频延迟,
......@@ -29,7 +34,8 @@
* 使用方法二:
如果想直接将用到的音频先完全下载避免延迟,用到的时候直接使用,则可以如下调用:
```
string[] a = { "Assets/Audio/0.wav", "Assets/Audio/1.wav" }; //需要预下载列表
//需要预下载列表
string[] a = { "Audio/0.wav", "Audio/1.wav" };
WX.PreDownloadAudios(a, (int res) =>
{
//下载完成后回调
......@@ -54,10 +60,15 @@
`注意` WX.CreateInnerAudioContext 返回的音频对象是可以复用的,就是可以多次调用Play方法播放,但是如果需要多个音频同时播放就要创建多个音频对象了。
## 导出设置
勾选使用微信音频API,并填上"游戏资源CDN",比如填写的地址为https://wx.qq.com/data/ ,而API的src地址为 Assets/Audio/Chill_1.wav,则最终会请求 https://wx.qq.com/data/Assets/Audio/Chill_1.wav
勾选使用微信音频API,并填上"游戏资源CDN",比如填写的地址为https://wx.qq.com/data/ ,而API的src地址为 Audio/Chill_1.wav,则最终请求路径会自动拼接前缀DATA_CDN/Assets(其中Assets路径可通过MiniGameConfig.asset更改), 即https://wx.qq.com/data/Assets/Audio/Chill_1.wav。
## 将音频文件上传CDN
游戏内的音频会被导出到导出目录的Assets文件夹下,需要将其上传至您的CDN,保证用户能访问到
![avatar](../image/assets2.png)
## 注意事项
- 使用微信音频API后音频无需再监听onAudioInterruptionBegin,onAudioInterruptionEnd事件,插件会自动处理。
- 音频未使用needDownload=true或PreDownloadAudios的情况下,音频文件是不还被缓存的,多次创建并播放同样音频会造成多次下载。需要游戏逻辑自己负责缓存音频对象(就是WX.CreateInnerAudioContext的对象需要自己缓存)。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册