From dcd0ea8d5ddd3e4252f26f5200892c9853655731 Mon Sep 17 00:00:00 2001 From: Han <1985708279@qq.com> Date: Mon, 21 Apr 2025 17:13:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9F=B3=E9=A2=91=E5=9B=9E=E8=B0=83=E4=B8=8E?= =?UTF-8?q?=E9=9F=B3=E6=95=88=E9=9F=B3=E9=87=8F=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/04.AudioCore/RunTime/Base/AudioSourcePool.cs | 2 +- Assets/04.AudioCore/RunTime/Base/SFXPlayer.cs | 4 ++-- Assets/04.AudioCore/RunTime/Base/VoicePlayer.cs | 3 +-- Assets/04.AudioCore/package.json | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) 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",