Skip to content

Commit 624f4f6

Browse files
authored
Merge pull request #858 from wechat-miniprogram/feat/audio_doc
docs: update audio video
2 parents 1dfec25 + a1b61c5 commit 624f4f6

File tree

6 files changed

+79
-4
lines changed

6 files changed

+79
-4
lines changed

.config/.vitepress/config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ export default defineConfig({
133133
text: "能力适配",
134134
items: [
135135
{ text: "WX SDK 平台能力适配", link: "/Design/WX_SDK" },
136+
{ text: "音频视频适配", link: "/Design/AudioAndVideo" },
136137
{ text: "屏幕适配", link: "/Design/fixScreen" },
137138
{ text: "输入法适配", link: "/Design/InputAdaptation" },
138139
{ text: "排行榜与微信关系数据", link: "/Design/OpenData" },

Design/AudioAndVideo.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
## 音频
2+
3+
目前 UnityAudio 已自动适配微信小游戏,优先建议使用 UnityAudio 来播放音频,也支持 FMOD 插件
4+
5+
## 兼容原理
6+
7+
UnityAudio 原理:
8+
9+
- 长音频播放使用的是[InnerAudio](https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html)
10+
- 短音频播放使用的是[WebAudio](https://developers.weixin.qq.com/minigame/dev/api/media/audio/WebAudioContext.html)
11+
- Unity 插件会根据音频文件大小自动适配使用不同的播放方式
12+
13+
FMOD 原理:
14+
15+
- 全部使用[WebAudio](https://developers.weixin.qq.com/minigame/dev/api/media/audio/WebAudioContext.html),因此不推荐背景音乐等大文件使用 FMOD 播放,会占用很大内存
16+
17+
### QA
18+
19+
1. 在 IOS 17.5 以上的版本,小游戏退后台后返回音效无法继续播放了
20+
21+
- 可以尝试更新最新的插件版本,可以避免一些出现的情况,我们正在尝试兼容 IOS 的更新
22+
23+
2. IOS 偶现音频报错 operateAudio:fail jsapi has no permission
24+
25+
- 音频播放时小游戏退后台就有可能出现,没有实际影响,可以忽略
26+
27+
3. 音频播放时游戏卡顿
28+
29+
- 如果同时播放的音频数量过多,是有可能造成游戏延迟卡顿的,建议限制同时播放的音频数量
30+
31+
4. 部分音频文件在安卓无法循环播放
32+
33+
- 已知问题,8.0.51 客户端版本修复
34+
35+
5. 音频在 PC 端无法循环播放完整音频
36+
37+
- 已知问题,更新最新的 Unity 导出插件
38+
39+
6. 推荐使用什么音频格式
40+
41+
- 推荐 mp3 或者 aac 格式,在双端有较好的兼容
42+
43+
## 视频
44+
45+
目前 VideoPlayer 已自动适配微信小游戏
46+
47+
### 支持版本
48+
49+
不同客户端的支持情况不同,以下为最低支持版本:
50+
51+
| 参数 | 版本 |
52+
| ----------- | --------------------------- |
53+
| IOS 高性能+ | 8.0.51 |
54+
| IOS 高性能 | 8.0.41 |
55+
| 安卓 | 8.0.40 |
56+
| PC | 基础库 3.2.1 |
57+
| 开发者工具 | 基础库 3.2.1 + 1.06.2310312 |
58+
59+
### QA
60+
61+
1. 视频在 IOS 无法播放,在其他平台都可以播放?
62+
63+
- 可以尝试把视频播放链接替换我们这个视频链接试试看是否正常,一般这种情况都是服务端设置问题,会报错`Origin weapp://wechat-game-runtime is not allowed by Access-Control-Allow-Origin`,但是没有打印到客户端,只需要配置服务端允许微信跨域访问即可(视频链接:https://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400
64+
65+
2. 视频在 IOS 播放有声音没画面?
66+
67+
- 开启了高性能+,先临时关闭高性能+
68+
69+
3. 为什么 IOS 高性能模式只能同时播放一个视频?
70+
71+
- IOS 的播放策略,只能从逻辑上兼容
72+
73+
4. 是否应该使用 VideoPlayer?
74+
75+
- 如果只是单纯使用全屏的视频播放,更推荐使用小游戏 API 视频播放能力。请参考[小游戏开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html)以及示例[Video Demo](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/WX_Video)

Design/DataCDN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
- CDN:当不使用小游戏分包时,需要部署到服务器。
4646

4747
### Assets
48-
如果有用到纹理压缩和微信音频API,导出插件自动生成。将此目录部署到服务器即可
48+
如果有用到纹理压缩,导出插件自动生成。将此目录部署到服务器即可
4949

5050
### StreamingAssets
5151
AssetBundle和Addressables资源目录。

Design/DevelopmentQAList.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ if (WXConvertCore.DoExport() == WXConvertCore.WXExportError.SUCCEED) {
146146
- 不行,不提供内嵌webview或跳转的能力
147147
#### 5.小游戏是否支持Unity VideoPlayer
148148

149-
- 支持,但是IOS有限制只能同时播放一个,并且需要注意基础库版本限制,低版本无法播放。如果只是单纯使用全屏的视频播放,更推荐使用小游戏API视频播放能力。请参考[小游戏开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html)以及示例[Video Demo](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/WX_Video)
149+
- 支持,详情查看[音频视频适配](AudioAndVideo.md)
150150
#### 6.小游戏应该使用哪个接口进行限制帧率?
151151

152152
- Application.targetFrameRate

Design/HowToDebug.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,4 @@ python3 -m pip install brotli
9191
字体必须打包到项目中,才能正常展示。
9292

9393
5. 音频被切到后台会停止
94-
小游戏被切到后台会停止播放音频需代码中监听 [WX.OnShow](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.onShow.html)事件和 [WX.OnAudioInterruptionEnd](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件,在该事件之后重新播放音频
94+
小游戏被切到后台会停止播放音频需代码中监听[WX.OnAudioInterruptionEnd](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件,在该事件之后重新播放音频

Design/Transform.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ bundleHashLength -- bundle名中hash长度
109109
preloadFiles -- 预下载文件列表,用;分隔
110110
// SDK功能
111111
UseFriendRelation -- 使用好友关系链
112-
UseAudioApi -- 使用微信音频API
113112
// 调试编译选项
114113
DevelopBuild -- Development Build
115114
AutoProfile -- Autoconnect Profiler

0 commit comments

Comments
 (0)