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

Merge pull request #220 from wechat-miniprogram/fix/audio

Fix/audio
......@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1}
m_IndirectSpecularColor: {r: 0.44657815, 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 &520074057
--- !u!1 &594407489
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 &520074058
--- !u!224 &594407490
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 520074057}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_GameObject: {fileID: 594407489}
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 &520074059
--- !u!114 &594407491
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 520074057}
m_GameObject: {fileID: 594407489}
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: 520074057}
m_GameObject: {fileID: 594407489}
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: -90}
m_AnchoredPosition: {x: 0, y: -270}
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: -270}
m_AnchoredPosition: {x: 0, y: -360}
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: Play Random
m_Text: Pause 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: playRandom
m_MethodName: pauseAllAudio
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: Play1
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: playAfterDownload
m_Mode: 3
m_MethodName: playBGM
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}
......
......@@ -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;
......
......@@ -38,7 +38,7 @@ MonoBehaviour:
loadingBarWidth: 240
needCheckUpdate: 0
SDKOptions:
UseAudioApi: 0
UseAudioApi: 1
UseFriendRelation: 0
UseCompressedTexture: 0
CompileOptions:
......
......@@ -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: {}
......@@ -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
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册