diff --git a/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs b/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs index dded0ef..036707e 100644 --- a/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs +++ b/Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs @@ -80,7 +80,7 @@ namespace Stary.Evo.AudioCore if (poolDict[type].Count == 0) { // 如果池为空,动态创建新的 GameObject(仅限 SFX 与 Voice) - if (type == "SFX" && type == "Voice") + if (type == "SFX" || type == "Voice") { CreateAudioSource(type); } diff --git a/Assets/04.AudioCore/RunTime/Base/SFXPlayer.cs b/Assets/04.AudioCore/RunTime/Base/SFXPlayer.cs index 201d5e5..5befd50 100644 --- a/Assets/04.AudioCore/RunTime/Base/SFXPlayer.cs +++ b/Assets/04.AudioCore/RunTime/Base/SFXPlayer.cs @@ -21,6 +21,7 @@ namespace Stary.Evo.AudioCore /// [onComplete:回调行为], [delayOnCompleteTime:延迟回调执行的时间]} public override void Play(AudioData audioData) { + audioData = AudioDataInitialize(audioData); AudioSource source = audioSourcePool.GetAudioSource("SFX"); if (source == null) return; @@ -62,9 +63,8 @@ namespace Stary.Evo.AudioCore private IEnumerator PlaySFXCoroutine(AudioSource source, float delay, System.Action onComplete) { yield return new WaitForSeconds(source.clip.length + delay); - - onComplete?.Invoke(); audioSourcePool.ReturnAudioSource("SFX", source.gameObject); + onComplete?.Invoke(); activeSources.Remove(source); } } diff --git a/Assets/04.AudioCore/RunTime/Base/VoicePlayer.cs b/Assets/04.AudioCore/RunTime/Base/VoicePlayer.cs index 2c161f9..6fa01ce 100644 --- a/Assets/04.AudioCore/RunTime/Base/VoicePlayer.cs +++ b/Assets/04.AudioCore/RunTime/Base/VoicePlayer.cs @@ -66,9 +66,8 @@ namespace Stary.Evo.AudioCore private IEnumerator PlayVoiceCoroutine(AudioSource source, float delayOnComplete, System.Action onComplete) { yield return new WaitForSeconds(source.clip.length + delayOnComplete); - - onComplete?.Invoke(); audioSourcePool.ReturnAudioSource("Voice", source.gameObject); + onComplete?.Invoke(); currentSource = null; myCoroutine = null; } diff --git a/Assets/04.AudioCore/package.json b/Assets/04.AudioCore/package.json index 3c0fae1..a1d8a90 100644 --- a/Assets/04.AudioCore/package.json +++ b/Assets/04.AudioCore/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.audiocore", - "version": "1.0.2", + "version": "1.0.3", "displayName": "04.AudioCore", "description": "音频播放工具", "unity": "2021.3",