Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Johnconstine
minigame-unity-webgl-transform
提交
bb3c01a1
M
minigame-unity-webgl-transform
项目概览
Johnconstine
/
minigame-unity-webgl-transform
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minigame-unity-webgl-transform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
bb3c01a1
编写于
11月 11, 2022
作者:
ocean2o11
提交者:
GitHub
11月 11, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #220 from wechat-miniprogram/fix/audio
Fix/audio
上级
55a487e9
931f67c2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
612 addition
and
135 deletion
+612
-135
Demo/API/Assets/Scenes/InnerAudio.unity
Demo/API/Assets/Scenes/InnerAudio.unity
+417
-69
Demo/API/Assets/Scripts/AudioManager.cs
Demo/API/Assets/Scripts/AudioManager.cs
+177
-62
Demo/API/Assets/WX-WASM-SDK/Editor/MiniGameConfig.asset
Demo/API/Assets/WX-WASM-SDK/Editor/MiniGameConfig.asset
+1
-1
Demo/API/ProjectSettings/EditorBuildSettings.asset
Demo/API/ProjectSettings/EditorBuildSettings.asset
+6
-0
Demo/API/UserSettings/EditorUserSettings.asset
Demo/API/UserSettings/EditorUserSettings.asset
+6
-0
Design/AudioOptimization.md
Design/AudioOptimization.md
+5
-3
未找到文件。
Demo/API/Assets/Scenes/InnerAudio.unity
浏览文件 @
bb3c01a1
...
...
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity
:
1
m_CustomReflection
:
{
fileID
:
0
}
m_Sun
:
{
fileID
:
0
}
m_IndirectSpecularColor
:
{
r
:
0.446578
74
,
g
:
0.49641275
,
b
:
0.5748172
,
a
:
1
}
m_IndirectSpecularColor
:
{
r
:
0.446578
15
,
g
:
0.49641192
,
b
:
0.57481617
,
a
:
1
}
m_UseRadianceAmbientProbe
:
0
---
!u!157
&3
LightmapSettings
:
...
...
@@ -194,7 +194,7 @@ MonoBehaviour:
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
Play
2
m_Text
:
Play
Short
5
---
!u!222
&475772372
CanvasRenderer
:
m_ObjectHideFlags
:
0
...
...
@@ -203,7 +203,7 @@ CanvasRenderer:
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
475772369
}
m_CullTransparentMesh
:
0
---
!u!1
&5
20074057
---
!u!1
&5
94407489
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
...
...
@@ -211,79 +211,133 @@ GameObject:
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
520074058
}
-
component
:
{
fileID
:
520074060
}
-
component
:
{
fileID
:
520074059
}
-
component
:
{
fileID
:
594407490
}
-
component
:
{
fileID
:
594407493
}
-
component
:
{
fileID
:
594407492
}
-
component
:
{
fileID
:
594407491
}
m_Layer
:
5
m_Name
:
Tips
m_Name
:
Short
5
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&5
20074058
---
!u!224
&5
94407490
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
5
20074057
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-
0
,
w
:
1
}
m_GameObject
:
{
fileID
:
5
94407489
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_ConstrainProportionsScale
:
0
m_Children
:
[]
m_Children
:
-
{
fileID
:
475772370
}
m_Father
:
{
fileID
:
2105647631
}
m_RootOrder
:
0
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
1
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
64.64699
}
m_SizeDelta
:
{
x
:
-273.4621
,
y
:
-309.29
}
m_AnchorMin
:
{
x
:
0
.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
-90
}
m_SizeDelta
:
{
x
:
320
,
y
:
60
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&5
20074059
---
!u!114
&5
94407491
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
5
20074057
}
m_GameObject
:
{
fileID
:
5
94407489
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
5f7201a12d95ffc409449d95f23cf332
,
type
:
3
}
m_Script
:
{
fileID
:
11500000
,
guid
:
4e29b1a8efbd4b44bb3f3716e73f07ff
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Navigation
:
m_Mode
:
3
m_WrapAround
:
0
m_SelectOnUp
:
{
fileID
:
0
}
m_SelectOnDown
:
{
fileID
:
0
}
m_SelectOnLeft
:
{
fileID
:
0
}
m_SelectOnRight
:
{
fileID
:
0
}
m_Transition
:
1
m_Colors
:
m_NormalColor
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_HighlightedColor
:
{
r
:
0.9607843
,
g
:
0.9607843
,
b
:
0.9607843
,
a
:
1
}
m_PressedColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
1
}
m_SelectedColor
:
{
r
:
0.9607843
,
g
:
0.9607843
,
b
:
0.9607843
,
a
:
1
}
m_DisabledColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
0.5019608
}
m_ColorMultiplier
:
1
m_FadeDuration
:
0.1
m_SpriteState
:
m_HighlightedSprite
:
{
fileID
:
0
}
m_PressedSprite
:
{
fileID
:
0
}
m_SelectedSprite
:
{
fileID
:
0
}
m_DisabledSprite
:
{
fileID
:
0
}
m_AnimationTriggers
:
m_NormalTrigger
:
Normal
m_HighlightedTrigger
:
Highlighted
m_PressedTrigger
:
Pressed
m_SelectedTrigger
:
Selected
m_DisabledTrigger
:
Disabled
m_Interactable
:
1
m_TargetGraphic
:
{
fileID
:
594407492
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
2105647632
}
m_TargetAssemblyTypeName
:
AudioManager, Assembly-CSharp
m_MethodName
:
playShort5
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
m_ObjectArgumentAssemblyTypeName
:
UnityEngine.Object, UnityEngine
m_IntArgument
:
1
m_FloatArgument
:
0
m_StringArgument
:
m_BoolArgument
:
0
m_CallState
:
2
---
!u!114
&594407492
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
594407489
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
fe87c0e1cc204ed48ad3b37840f39efc
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
0.19607843
,
g
:
0.19607843
,
b
:
0.19607843
,
a
:
1
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_RaycastTarget
:
1
m_RaycastPadding
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
0
}
m_Maskable
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_FontData
:
m_Font
:
{
fileID
:
10102
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
m_FontSize
:
32
m_FontStyle
:
0
m_BestFit
:
0
m_MinSize
:
3
m_MaxSize
:
40
m_Alignment
:
4
m_AlignByGeometry
:
0
m_RichText
:
1
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
"
\u672C\u573A\u666F\u4F1A\u81EA\u52A8\u4E0B\u8F7D\u5E76\u64AD\u653E\u97F3\u9891
"
---
!u!222
&520074060
m_Sprite
:
{
fileID
:
10905
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Type
:
1
m_PreserveAspect
:
0
m_FillCenter
:
1
m_FillMethod
:
4
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
m_UseSpriteMesh
:
0
m_PixelsPerUnitMultiplier
:
1
---
!u!222
&594407493
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
5
20074057
}
m_GameObject
:
{
fileID
:
5
94407489
}
m_CullTransparentMesh
:
0
---
!u!1
&
594407489
---
!u!1
&
647899803
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
...
...
@@ -291,45 +345,45 @@ GameObject:
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
594407490
}
-
component
:
{
fileID
:
594407493
}
-
component
:
{
fileID
:
594407492
}
-
component
:
{
fileID
:
594407491
}
-
component
:
{
fileID
:
647899804
}
-
component
:
{
fileID
:
647899807
}
-
component
:
{
fileID
:
647899806
}
-
component
:
{
fileID
:
647899805
}
m_Layer
:
5
m_Name
:
Play2
m_Name
:
Resume
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&
594407490
---
!u!224
&
647899804
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
594407489
}
m_GameObject
:
{
fileID
:
647899803
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_ConstrainProportionsScale
:
0
m_Children
:
-
{
fileID
:
475772370
}
-
{
fileID
:
1611328529
}
m_Father
:
{
fileID
:
2105647631
}
m_RootOrder
:
2
m_RootOrder
:
4
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
-
9
0
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
-
27
0
}
m_SizeDelta
:
{
x
:
320
,
y
:
60
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&
594407491
---
!u!114
&
647899805
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
594407489
}
m_GameObject
:
{
fileID
:
647899803
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
4e29b1a8efbd4b44bb3f3716e73f07ff
,
type
:
3
}
...
...
@@ -363,29 +417,29 @@ MonoBehaviour:
m_SelectedTrigger
:
Selected
m_DisabledTrigger
:
Disabled
m_Interactable
:
1
m_TargetGraphic
:
{
fileID
:
594407492
}
m_TargetGraphic
:
{
fileID
:
647899806
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
2105647632
}
m_TargetAssemblyTypeName
:
AudioManager, Assembly-CSharp
m_MethodName
:
playAfterDownload
m_Mode
:
3
m_MethodName
:
resumeAllAudio
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
m_ObjectArgumentAssemblyTypeName
:
UnityEngine.Object, UnityEngine
m_IntArgument
:
1
m_IntArgument
:
4
m_FloatArgument
:
0
m_StringArgument
:
m_BoolArgument
:
0
m_CallState
:
2
---
!u!114
&
594407492
---
!u!114
&
647899806
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
594407489
}
m_GameObject
:
{
fileID
:
647899803
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
fe87c0e1cc204ed48ad3b37840f39efc
,
type
:
3
}
...
...
@@ -409,13 +463,93 @@ MonoBehaviour:
m_FillOrigin
:
0
m_UseSpriteMesh
:
0
m_PixelsPerUnitMultiplier
:
1
---
!u!222
&
594407493
---
!u!222
&
647899807
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
594407489
}
m_GameObject
:
{
fileID
:
647899803
}
m_CullTransparentMesh
:
0
---
!u!1
&945804509
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
945804510
}
-
component
:
{
fileID
:
945804512
}
-
component
:
{
fileID
:
945804511
}
m_Layer
:
5
m_Name
:
Text
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&945804510
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
945804509
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_ConstrainProportionsScale
:
0
m_Children
:
[]
m_Father
:
{
fileID
:
1970663474
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
1
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
0
}
m_SizeDelta
:
{
x
:
0
,
y
:
0
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&945804511
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
945804509
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
5f7201a12d95ffc409449d95f23cf332
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
0.19607843
,
g
:
0.19607843
,
b
:
0.19607843
,
a
:
1
}
m_RaycastTarget
:
1
m_RaycastPadding
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
0
}
m_Maskable
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_FontData
:
m_Font
:
{
fileID
:
10102
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
m_FontSize
:
32
m_FontStyle
:
0
m_BestFit
:
0
m_MinSize
:
3
m_MaxSize
:
40
m_Alignment
:
4
m_AlignByGeometry
:
0
m_RichText
:
1
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
Play Short
---
!u!222
&945804512
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
945804509
}
m_CullTransparentMesh
:
0
---
!u!1
&1026316876
GameObject
:
...
...
@@ -614,11 +748,11 @@ RectTransform:
m_Children
:
-
{
fileID
:
1026316877
}
m_Father
:
{
fileID
:
2105647631
}
m_RootOrder
:
4
m_RootOrder
:
5
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
-
27
0
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
-
36
0
}
m_SizeDelta
:
{
x
:
320
,
y
:
60
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&1187294105
...
...
@@ -786,7 +920,7 @@ MonoBehaviour:
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
P
lay Random
m_Text
:
P
ause All
---
!u!222
&1260414954
CanvasRenderer
:
m_ObjectHideFlags
:
0
...
...
@@ -902,7 +1036,7 @@ GameObject:
-
component
:
{
fileID
:
1302124278
}
-
component
:
{
fileID
:
1302124277
}
m_Layer
:
5
m_Name
:
Random
m_Name
:
Pause
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
...
...
@@ -975,7 +1109,7 @@ MonoBehaviour:
m_Calls
:
-
m_Target
:
{
fileID
:
2105647632
}
m_TargetAssemblyTypeName
:
AudioManager, Assembly-CSharp
m_MethodName
:
p
layRandom
m_MethodName
:
p
auseAllAudio
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
...
...
@@ -1094,7 +1228,7 @@ MonoBehaviour:
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
Play
1
m_Text
:
Play
BGM
---
!u!222
&1360654997
CanvasRenderer
:
m_ObjectHideFlags
:
0
...
...
@@ -1136,7 +1270,7 @@ RectTransform:
m_Children
:
-
{
fileID
:
2074957559
}
m_Father
:
{
fileID
:
2105647631
}
m_RootOrder
:
5
m_RootOrder
:
6
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -1267,7 +1401,6 @@ MonoBehaviour:
m_Script
:
{
fileID
:
11500000
,
guid
:
4f231c4fb786f3946a6b90b886c48677
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_SendPointerHoverToParent
:
1
m_HorizontalAxis
:
Horizontal
m_VerticalAxis
:
Vertical
m_SubmitButton
:
Submit
...
...
@@ -1305,6 +1438,220 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1611328528
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1611328529
}
-
component
:
{
fileID
:
1611328531
}
-
component
:
{
fileID
:
1611328530
}
m_Layer
:
5
m_Name
:
Text
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&1611328529
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1611328528
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_ConstrainProportionsScale
:
0
m_Children
:
[]
m_Father
:
{
fileID
:
647899804
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
1
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
0
}
m_SizeDelta
:
{
x
:
0
,
y
:
0
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&1611328530
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1611328528
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
5f7201a12d95ffc409449d95f23cf332
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
0.19607843
,
g
:
0.19607843
,
b
:
0.19607843
,
a
:
1
}
m_RaycastTarget
:
1
m_RaycastPadding
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
0
}
m_Maskable
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_FontData
:
m_Font
:
{
fileID
:
10102
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
m_FontSize
:
32
m_FontStyle
:
0
m_BestFit
:
0
m_MinSize
:
3
m_MaxSize
:
40
m_Alignment
:
4
m_AlignByGeometry
:
0
m_RichText
:
1
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
Resume All
---
!u!222
&1611328531
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1611328528
}
m_CullTransparentMesh
:
0
---
!u!1
&1970663473
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1970663474
}
-
component
:
{
fileID
:
1970663477
}
-
component
:
{
fileID
:
1970663476
}
-
component
:
{
fileID
:
1970663475
}
m_Layer
:
5
m_Name
:
Play Short
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&1970663474
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1970663473
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_ConstrainProportionsScale
:
0
m_Children
:
-
{
fileID
:
945804510
}
m_Father
:
{
fileID
:
2105647631
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
90
}
m_SizeDelta
:
{
x
:
320
,
y
:
60
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&1970663475
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1970663473
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
4e29b1a8efbd4b44bb3f3716e73f07ff
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Navigation
:
m_Mode
:
3
m_WrapAround
:
0
m_SelectOnUp
:
{
fileID
:
0
}
m_SelectOnDown
:
{
fileID
:
0
}
m_SelectOnLeft
:
{
fileID
:
0
}
m_SelectOnRight
:
{
fileID
:
0
}
m_Transition
:
1
m_Colors
:
m_NormalColor
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_HighlightedColor
:
{
r
:
0.9607843
,
g
:
0.9607843
,
b
:
0.9607843
,
a
:
1
}
m_PressedColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
1
}
m_SelectedColor
:
{
r
:
0.9607843
,
g
:
0.9607843
,
b
:
0.9607843
,
a
:
1
}
m_DisabledColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
0.5019608
}
m_ColorMultiplier
:
1
m_FadeDuration
:
0.1
m_SpriteState
:
m_HighlightedSprite
:
{
fileID
:
0
}
m_PressedSprite
:
{
fileID
:
0
}
m_SelectedSprite
:
{
fileID
:
0
}
m_DisabledSprite
:
{
fileID
:
0
}
m_AnimationTriggers
:
m_NormalTrigger
:
Normal
m_HighlightedTrigger
:
Highlighted
m_PressedTrigger
:
Pressed
m_SelectedTrigger
:
Selected
m_DisabledTrigger
:
Disabled
m_Interactable
:
1
m_TargetGraphic
:
{
fileID
:
1970663476
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
2105647632
}
m_TargetAssemblyTypeName
:
AudioManager, Assembly-CSharp
m_MethodName
:
playShort
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
m_ObjectArgumentAssemblyTypeName
:
UnityEngine.Object, UnityEngine
m_IntArgument
:
0
m_FloatArgument
:
0
m_StringArgument
:
m_BoolArgument
:
0
m_CallState
:
2
---
!u!114
&1970663476
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1970663473
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
fe87c0e1cc204ed48ad3b37840f39efc
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_RaycastTarget
:
1
m_RaycastPadding
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
0
}
m_Maskable
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_Sprite
:
{
fileID
:
10905
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Type
:
1
m_PreserveAspect
:
0
m_FillCenter
:
1
m_FillMethod
:
4
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
m_UseSpriteMesh
:
0
m_PixelsPerUnitMultiplier
:
1
---
!u!222
&1970663477
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1970663473
}
m_CullTransparentMesh
:
0
---
!u!1
&2039791427
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -1318,7 +1665,7 @@ GameObject:
-
component
:
{
fileID
:
2039791430
}
-
component
:
{
fileID
:
2039791429
}
m_Layer
:
5
m_Name
:
Play
1
m_Name
:
Play
BGM
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
...
...
@@ -1391,8 +1738,8 @@ MonoBehaviour:
m_Calls
:
-
m_Target
:
{
fileID
:
2105647632
}
m_TargetAssemblyTypeName
:
AudioManager, Assembly-CSharp
m_MethodName
:
play
AfterDownload
m_Mode
:
3
m_MethodName
:
play
BGM
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
m_ObjectArgumentAssemblyTypeName
:
UnityEngine.Object, UnityEngine
...
...
@@ -1615,10 +1962,11 @@ RectTransform:
m_LocalScale
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_ConstrainProportionsScale
:
0
m_Children
:
-
{
fileID
:
520074058
}
-
{
fileID
:
1970663474
}
-
{
fileID
:
2039791428
}
-
{
fileID
:
594407490
}
-
{
fileID
:
1302124276
}
-
{
fileID
:
647899804
}
-
{
fileID
:
1187294104
}
-
{
fileID
:
1439564062
}
m_Father
:
{
fileID
:
0
}
...
...
Demo/API/Assets/Scripts/AudioManager.cs
浏览文件 @
bb3c01a1
...
...
@@ -6,13 +6,20 @@ using WeChatWASM;
public
class
AudioManager
:
MonoBehaviour
{
// cdn路径音频最多支持10个同时在线播放,先下载后的音频(needDownload)最多支持32个同时播放,先初始化10个
private
static
int
DEFAULT_AUDIO_COUNT
=
10
;
//
private static int DEFAULT_AUDIO_COUNT = 10;
// 创建音频队列
private
static
Queue
<
WXInnerAudioContext
>
audioPool
=
new
Queue
<
WXInnerAudioContext
>();
// 当前场景需要预下载的音频列表
private
static
string
[]
audioList
=
{
// 短音频
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20221108/194356/1.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20221108/194517/2.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20221108/194523/3.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20221108/194530/4.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20221108/194536/5.mp3"
,
// 长音频
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20220901/211827/CallMeTeenTop.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20220815/105451/1.mp3"
,
"https://res.wx.qq.com/wechatgame/product/webpack/userupload/20220901/211846/Night-n.mp3"
,
...
...
@@ -23,83 +30,128 @@ public class AudioManager : MonoBehaviour
// 正在播放的音频对象列表
private
static
List
<
WXInnerAudioContext
>
audioPlayArray
=
new
List
<
WXInnerAudioContext
>();
// 背景音乐
private
WXInnerAudioContext
audioBGM
=
null
;
private
bool
isDestroyed
=
false
;
private
int
createdAudioCount
=
0
;
// 初始化
public
void
Start
()
{
// 创建音频对象池,创建时设置属性需要下载
for
(
var
i
=
0
;
i
<
DEFAULT_AUDIO_COUNT
;
i
++)
{
addAudio
(
);
};
//
//
创建音频对象池,创建时设置属性需要下载
//
for (var i = 0; i < DEFAULT_AUDIO_COUNT; i++)
//
{
// addAudio(false
);
//
};
// 批量下载音频文件
downloadAudio
();
// 先下载后播放第3个音频
playAfterDownload
(
2
);
// 立即播放(但不会缓存到本地)第1个音频
playRightNow
(
0
);
}
// 从缓存池中获取音频实例
private
WXInnerAudioContext
getAudio
()
{
if
(
this
.
isDestroyed
)
{
if
(
this
.
isDestroyed
)
{
return
null
;
}
if
(
audioPool
.
Count
==
0
)
{
addAudio
();
addAudio
(
false
);
}
var
audio
=
audioPool
.
Dequeue
();
audio
.
needDownload
=
true
;
audioPlayArray
.
Add
(
audio
);
return
audio
;
}
private
void
removeAudio
(
WXInnerAudioContext
audio
)
// 销毁或回收实例
private
void
removeAudio
(
WXInnerAudioContext
audio
,
bool
needDestroy
=
true
)
{
audio
.
OffCanplay
();
if
(
audioPlayArray
.
Contains
(
audio
))
{
audio
.
OffCanplay
();
audioPlayArray
.
Remove
(
audio
);
audioPool
.
Enqueue
(
audio
);
}
if
(
needDestroy
)
{
audio
.
Destroy
();
}
else
{
if
(!
audioPool
.
Contains
(
audio
))
{
audioPool
.
Enqueue
(
audio
);
}
}
Debug
.
Log
(
"___________________"
);
Debug
.
Log
(
"已创建InnerAudio"
+
createdAudioCount
+
" 对象池:"
+
audioPool
.
Count
+
" 正在播放:"
+
audioPlayArray
.
Count
);
Debug
.
Log
(
"___________________"
);
}
private
WXInnerAudioContext
addAudio
()
// 创建InnerAudioContext实例
// 参数needDestroy表示是否需要在播放完之后销毁,目前建议都先销毁再创建使用
private
WXInnerAudioContext
addAudio
(
bool
needDestroy
=
true
)
{
if
(
createdAudioCount
>
32
)
{
Debug
.
LogError
(
"最多只支持同时使用32个InnerAudio"
);
}
var
audio
=
WX
.
CreateInnerAudioContext
(
new
InnerAudioContextParam
()
{
needDownload
=
true
});
createdAudioCount
+=
1
;
// 自动播放停止
audio
.
OnEnded
(()
=>
{
removeAudio
(
audio
);
Debug
.
Log
(
audio
.
instanceId
+
" OnEnded"
);
removeAudio
(
audio
,
needDestroy
);
});
// 加载出错
audio
.
OnError
(()
=>
{
Debug
.
Log
(
audio
.
instanceId
+
"audio OnError"
);
audio
.
Stop
();
removeAudio
(
audio
);
removeAudio
(
audio
,
needDestroy
);
});
// 手动停止
audio
.
OnStop
(()
=>
{
removeAudio
(
audio
);
Debug
.
Log
(
audio
.
instanceId
+
"audio OnStop"
);
removeAudio
(
audio
,
needDestroy
);
});
audioPool
.
Enqueue
(
audio
);
// 暂停
audio
.
OnPause
(()
=>
{
Debug
.
Log
(
audio
.
instanceId
+
"audio OnPause"
);
});
// 播放成功
audio
.
OnPlay
(()
=>
{
Debug
.
Log
(
audio
.
instanceId
+
"audio OnPlay"
);
});
if
(!
needDestroy
)
{
audioPool
.
Enqueue
(
audio
);
}
return
audio
;
}
// 预下载音频
private
void
downloadAudio
()
{
// 预下载音频
...
...
@@ -110,7 +162,7 @@ public class AudioManager : MonoBehaviour
// 下载成功
// 下载后播放第2个音频
playAfterDownload
(
1
);
//
playAfterDownload(1);
}
else
{
...
...
@@ -119,81 +171,144 @@ public class AudioManager : MonoBehaviour
});
}
public
void
playAfterDownload
(
int
index
)
// 播放音频
public
void
playAfterDownload
(
int
index
,
bool
isShort
)
{
var
audioIndex
=
getAudio
();
if
(
audioIndex
==
null
)
{
if
(
audioIndex
==
null
)
{
return
;
}
// 如果没有下文修改needDownload为false的函数,理论上创建的所有音频都是true,可以省去这一条
audioIndex
.
needDownload
=
true
;
if
(
audioIndex
.
src
==
audioList
[
index
])
{
audioIndex
.
Play
();
// 如果要设置的src和原音频对象一致,可以直接播放
if
(
audioIndex
.
src
==
audioList
[
index
])
{
audioIndex
.
Play
();
}
else
{
// 对于已经设置了needDownload为true的audio,设置src后就会开始下载对应的音频文件
// 如果该文件已经下载过,并且配置了缓存本地,就不会重复下载
// 如果该文件没有下载过,等同于先调用WX.PreDownloadAudios下载后再播放
audioIndex
.
src
=
audioList
[
index
];
// 在可以播放时播放
audioIndex
.
OnCanplay
(()
=>
{
audioIndex
.
Play
();
});
else
{
// 对于已经设置了needDownload为true的audio,设置src后就会开始下载对应的音频文件
// 如果该文件已经下载过,并且配置了缓存本地,就不会重复下载
// 如果该文件没有下载过,等同于先调用WX.PreDownloadAudios下载后再播放
audioIndex
.
src
=
audioList
[
index
];
// 短音频可以直接调用Play
if
(
isShort
)
{
audioIndex
.
Play
();
}
else
{
// 长音频在可以播放时播放
audioIndex
.
OnCanplay
(()
=>
{
audioIndex
.
Play
();
});
}
}
}
// 不缓存立即播放
public
void
playRightNow
(
int
index
)
{
// 如果是需要在当前场景立刻播放的音频,则不设置needDownload,音频会边下边播
// 但是再次使用该音频时会因为没有下载而需要再次下载,并不推荐这样使用
var
audioPlayRightNow
=
getAudio
();
if
(
audioPlayRightNow
==
null
)
{
audioPlayRightNow
.
needDownload
=
false
;
if
(
audioPlayRightNow
==
null
)
{
return
;
}
// 修改src会触发下载,所以设置needDownload属性要在修改src之前
audioPlayRightNow
.
needDownload
=
false
;
// 如果要设置的src和原音频对象一致,可以直接播放
if
(
audioPlayRightNow
.
src
==
audioList
[
index
])
{
audioPlayRightNow
.
Play
();
if
(
audioPlayRightNow
.
src
==
audioList
[
index
])
{
audioPlayRightNow
.
Play
();
}
else
{
// 如果当前音频已经下载过,并且配置了缓存本地,就算设置needDownload为false也不会重复下载
audioPlayRightNow
.
src
=
audioList
[
index
];
// 在可以播放时播放
audioPlayRightNow
.
OnCanplay
(()
=>
{
audioPlayRightNow
.
Play
();
});
else
{
// 如果当前音频已经下载过,并且配置了缓存本地,就算设置needDownload为false也不会重复下载
audioPlayRightNow
.
src
=
audioList
[
index
];
// 在可以播放时播放
audioPlayRightNow
.
OnCanplay
(()
=>
{
audioPlayRightNow
.
Play
();
});
}
}
// 暂停所有在播放的音乐
public
void
pauseAllAudio
()
{
audioPlayArray
.
ForEach
(
audio
=>
{
audio
.
Pause
();
});
}
// 重新播放所有在播放的音乐
public
void
resumeAllAudio
()
{
audioPlayArray
.
ForEach
(
audio
=>
{
// innerAudio没有resume,直接用play重新播放
audio
.
Play
();
});
}
// 停止所有在播放的音乐
public
void
stopAllAudio
()
{
audioPlayArray
.
ForEach
(
audio
=>
{
audioPlayArray
.
ForEach
(
audio
=>
{
audio
.
OffCanplay
();
audio
.
Stop
();
});
}
public
void
playRandom
()
// 播放短音频
public
void
playShort
()
{
var
index
=
new
System
.
Random
().
Next
(
0
,
5
);
Debug
.
Log
(
"playShort:"
+
index
);
playAfterDownload
(
index
,
true
);
}
// 同时播放5个短音频(测试用)
public
void
playShort5
()
{
var
index
=
new
System
.
Random
().
Next
(
0
,
audioList
.
Length
);
for
(
var
i
=
0
;
i
<
5
;
i
++)
{
this
.
playShort
();
};
}
// 播放背景音乐
public
void
playBGM
()
{
var
index
=
new
System
.
Random
().
Next
(
5
,
10
);
Debug
.
Log
(
"Play:"
+
index
);
Debug
.
Log
(
"PlayAudioLength:"
+
audioPlayArray
.
Count
);
playRightNow
(
index
);
if
(
audioBGM
!=
null
)
{
audioBGM
.
Stop
();
}
// 长音频在使用后需要销毁
audioBGM
=
addAudio
(
true
);
audioPlayArray
.
Add
(
audioBGM
);
audioBGM
.
src
=
audioList
[
index
];
audioBGM
.
OnCanplay
(()
=>
{
audioBGM
.
Play
();
});
}
// 销毁场景
private
void
OnDestroy
()
{
this
.
isDestroyed
=
true
;
...
...
Demo/API/Assets/WX-WASM-SDK/Editor/MiniGameConfig.asset
浏览文件 @
bb3c01a1
...
...
@@ -38,7 +38,7 @@ MonoBehaviour:
loadingBarWidth
:
240
needCheckUpdate
:
0
SDKOptions
:
UseAudioApi
:
0
UseAudioApi
:
1
UseFriendRelation
:
0
UseCompressedTexture
:
0
CompileOptions
:
...
...
Demo/API/ProjectSettings/EditorBuildSettings.asset
浏览文件 @
bb3c01a1
...
...
@@ -11,4 +11,10 @@ EditorBuildSettings:
-
enabled
:
1
path
:
Assets/Scenes/SampleScene.unity
guid
:
9a069299b0b9d4cf68218d815a4c1b38
-
enabled
:
1
path
:
Assets/Scenes/InnerAudio.unity
guid
:
6cc335c875b7242b2b937937d262f304
-
enabled
:
1
path
:
Assets/Scenes/Recorder.unity
guid
:
61476b21b30644ba3b6656f5633e7b3c
m_configObjects
:
{}
Demo/API/UserSettings/EditorUserSettings.asset
浏览文件 @
bb3c01a1
...
...
@@ -11,6 +11,12 @@ EditorUserSettings:
RecentlyUsedSceneGuid-1
:
value
:
5a5004505c0750020f5e0e7b14775c16404f4a7b742c7e6178284930b3e26760
flags
:
0
RecentlyUsedSceneGuid-2
:
value
:
5500005153575b0a0f5d5c7444775d1145154e7c797e20657b7a4e36b5e2673b
flags
:
0
RecentlyUsedSceneGuid-3
:
value
:
5552575556000a035a5b0e7542770d12441541797b717567297b4b61e4b3646c
flags
:
0
vcSharedLogLevel
:
value
:
0d5e400f0650
flags
:
0
...
...
Design/AudioOptimization.md
浏览文件 @
bb3c01a1
...
...
@@ -11,7 +11,7 @@
### 接口使用
参考
[
微信开发者文档
](
https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html
)
其中
src为音频地址,可填本地路径如 xx.wav,运行时会自动和配置的音频地址前缀(默认为
DATA_CDN/Assets)做拼接得到最终线上地址。
其中
src 为音频地址,可填本地路径如 xx.wav,运行时会自动和配置的音频地址前缀(默认为
DATA_CDN/Assets)做拼接得到最终线上地址。
```
c#
// 使用方法一:创建音频对象可以在初始化是加上needDownload = true,音频会先下载到本地,然后再播放
...
...
@@ -42,7 +42,7 @@ audio2.OnCanplay(() =>
// 使用方法三:先提前创建音频对象,批量下载音频文件,在下载完成后可以直接修改音频对象的src并播放
string
[]
a
=
{
"Audio/0.wav"
,
"Audio/1.wav"
,
"Audio/2.wav"
};
string
[]
a
=
{
"Audio/0.wav"
,
"Audio/1.wav"
,
"Audio/2.wav"
};
var
audio3
=
WX
.
CreateInnerAudioContext
(
new
InnerAudioContextParam
(){
needDownload
=
true
});
WX
.
PreDownloadAudios
(
a
,
(
int
res
)
=>
{
...
...
@@ -63,10 +63,12 @@ audio.Stop();
```
## 参考示例
音频一般最多只能同时存在10个,所以必须要开发者自己控制音频对象池重复使用,可以参考以下示例:
InnerAudioContext 实例最多同时存在 32 个,如果播放的不是本地文件而是 cdn 地址,则最多只支持 10 个,因此建议使用 needDownload 先下载,可以参考以下示例使用:
[
音频示例
](
https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Demo/API/Assets/Scripts/AudioManager.cs
)
## 示例补充说明
-
示例只是作为参考,可以不按照示例,以开发者文档为准
-
WX.CreateInnerAudioContext 返回的音频对象是可以复用的,可以多次调用 Play 方法播放,但是如果需要多个音频同时播放就要创建多个音频对象。
-
其中音频 src 为音频地址,可填本地路径如 Audios/xx.wav,运行时会自动和配置的音频地址前缀(默认为 DATA_CDN/Assets)做拼接得到最终线上地址。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录