diff --git a/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs b/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs index 036707e..76b0542 100644 --- a/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs +++ b/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs @@ -24,7 +24,7 @@ namespace Stary.Evo.AudioCore } CoroutineHelper.SetRunner(); - // 初始化 Voice 池(最多 1 个,可动态扩展) + // 初始化 Voice 池(初始 1 个,可动态扩展) poolDict["Voice"] = new Queue(); CreateAudioSource("Voice"); @@ -37,10 +37,7 @@ namespace Stary.Evo.AudioCore // 初始化 SFX 池(初始 4 个,可动态扩展) poolDict["SFX"] = new Queue(); - for (int i = 0; i < 4; i++) - { - CreateAudioSource("SFX"); - } + CreateAudioSource("SFX"); } /// diff --git a/Assets/04.AudioCore/RunTime/Base/CoroutineHelper.cs b/Assets/04.AudioCore/RunTime/Base/CoroutineHelper.cs index c9436d5..965d266 100644 --- a/Assets/04.AudioCore/RunTime/Base/CoroutineHelper.cs +++ b/Assets/04.AudioCore/RunTime/Base/CoroutineHelper.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using UnityEngine; using UnityEngine.Internal; @@ -23,6 +24,17 @@ namespace Stary.Evo.AudioCore coroutineRunner.StopCoroutine(myCoroutine); } - private class CoroutineRunner : MonoBehaviour { } + private class CoroutineRunner : MonoBehaviour + { + private void OnDestroy() + { + if (coroutineRunner != null) + { + coroutineRunner.StopAllCoroutines(); + coroutineRunner = null; + } + + } + } } } diff --git a/Assets/04.AudioCore/package.json b/Assets/04.AudioCore/package.json index a1d8a90..6ef1998 100644 --- a/Assets/04.AudioCore/package.json +++ b/Assets/04.AudioCore/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.audiocore", - "version": "1.0.3", + "version": "1.0.4", "displayName": "04.AudioCore", "description": "音频播放工具", "unity": "2021.3",