From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)

---
 Main/System/Sound/SoundPlayer.cs |   82 ++++++++++++++++-------------------------
 1 files changed, 32 insertions(+), 50 deletions(-)

diff --git a/Main/System/Sound/SoundPlayer.cs b/Main/System/Sound/SoundPlayer.cs
index 5d7c388..52a353d 100644
--- a/Main/System/Sound/SoundPlayer.cs
+++ b/Main/System/Sound/SoundPlayer.cs
@@ -24,7 +24,7 @@
                 {
                     if (m_Instance == null)
                     {
-                        CreateSoundPlayer();
+                        CreateSoundPlayer().Forget();
                     }
                 }
             }
@@ -74,25 +74,10 @@
 
     public void Init()
     {
-        //鍒濆鍖栫敤
+
     }
 
-    public static void CreateSoundPlayer()
-    {
-        if (m_Instance != null)
-        {
-            return;
-        }
-
-        var gameObject = GameObject.Instantiate(BuiltInLoader.LoadPrefab("SoundPlayer"));
-        m_Instance = gameObject.GetComponent<SoundPlayer>();
-        m_Instance.name = "SoundPlayer";
-        m_Instance.SetActive(true);
-        DontDestroyOnLoad(gameObject);
-        Debug.Log("CreateSoundPlayer");
-    }
-
-    public static async UniTask CreateSoundPlayerAsync()
+    public static async UniTask CreateSoundPlayer()
     {
         if (m_Instance != null)
         {
@@ -105,10 +90,10 @@
         m_Instance.name = "SoundPlayer";
         m_Instance.SetActive(true);
         DontDestroyOnLoad(gameObject);
-        Debug.Log("CreateSoundPlayer");
+        Debug.Log("SoundPlayer 鍒涘缓瀹屾垚");
     }
 
-    public void PlayBackGroundMusic(int _audioId)
+    public async UniTask PlayBackGroundMusic(int _audioId)
     {
         if (_audioId <= 0)
         {
@@ -122,22 +107,18 @@
             var config = AudioConfig.Get(_audioId);
             if (config != null)
             {
-                AudioLoader.LoadAudioAsync(config.Folder, config.Audio, (bool _ok, UnityEngine.Object _object) =>
+                AudioLoader.LoadAudio(config.Folder, config.Audio).ContinueWith(clip =>
                 {
-                    if (_ok && _object != null)
+                    if (clip != null)
                     {
-                        clip = _object as AudioClip;
-                        if (clip != null)
+                        if (!musicAudioClipDict.ContainsKey(_audioId))
                         {
-                            if (!musicAudioClipDict.ContainsKey(_audioId))
-                            {
-                                musicAudioClipDict[_audioId] = clip;
-                            }
-
-                            StartCoroutine(Co_BackGroundMusicFadeOutIn(clip, false));
+                            musicAudioClipDict[_audioId] = clip;
                         }
+
+                        StartCoroutine(Co_BackGroundMusicFadeOutIn(clip, false));
                     }
-                });
+                }).Forget();
             }
         }
         else
@@ -150,7 +131,7 @@
     }
 
     int backGroudAudioIdRef = 0;
-    public void PlayBackGroundMusicOneShot(int _audioId)
+    public async void PlayBackGroundMusicOneShot(int _audioId)
     {
         var config = AudioConfig.Get(_audioId);
         if (config == null)
@@ -158,7 +139,7 @@
             return;
         }
 
-        var clip = AudioLoader.LoadAudio(config.Folder, config.Audio);
+        var clip = await AudioLoader.LoadAudio(config.Folder, config.Audio);
         if (clip == null)
         {
             return;
@@ -193,9 +174,7 @@
                 if (key != _exclude)
                 {
                     var config = AudioConfig.Get(key);
-                    #pragma warning disable CS0618 // Obsolete 鈥� sync legacy unload
                     ResManager.Instance.UnloadAsset("Audio/" + config.Folder, config.Audio);
-                    #pragma warning restore CS0618
                 }
             }
 
@@ -215,10 +194,10 @@
     {
         await UniTask.Delay(1);
         if (this == null) return; // destroyed during await
-        PlayUIAudio(_audioId);
+        await PlayUIAudio(_audioId);
     }
 
-    public void PlayUIAudio(int _audioId)
+    public async UniTask PlayUIAudio(int _audioId)
     {
         if (_audioId <= 0)
         {
@@ -231,7 +210,7 @@
             var config = AudioConfig.Get(_audioId);
             if (config != null)
             {
-                clip = AudioLoader.LoadAudio(config.Folder, config.Audio);
+                clip = await AudioLoader.LoadAudio(config.Folder, config.Audio);
                 if (clip != null)
                 {
                     if (commonUseAudioSet.Contains(_audioId))
@@ -261,7 +240,7 @@
         }
     }
 
-    public void PlayAudio(AudioSource _source, int _audioId)
+    public async void PlayAudio(AudioSource _source, int _audioId)
     {
         if (_audioId <= 0)
         {
@@ -279,7 +258,7 @@
             var config = AudioConfig.Get(_audioId);
             if (config != null)
             {
-                clip = AudioLoader.LoadAudio(config.Folder, config.Audio);
+                clip = await AudioLoader.LoadAudio(config.Folder, config.Audio);
                 if (clip != null)
                 {
                     if (commonUseAudioSet.Contains(_audioId))
@@ -313,7 +292,7 @@
         }
     }
 
-    public void PlayNewBieAudio(int _audioId)
+    public async UniTask PlayNewBieAudio(int _audioId)
     {
         if (_audioId <= 0)
         {
@@ -324,7 +303,7 @@
         var config = AudioConfig.Get(_audioId);
         if (config != null)
         {
-            clip = AudioLoader.LoadAudio(config.Folder, config.Audio);
+            clip = await AudioLoader.LoadAudio(config.Folder, config.Audio);
         }
 
         if (clip != null)
@@ -343,7 +322,7 @@
         }
     }
 
-    public void PlayNpcAudio(int _audioId)
+    public async void PlayNpcAudio(int _audioId)
     {
         if (_audioId <= 0)
         {
@@ -354,7 +333,7 @@
         var config = AudioConfig.Get(_audioId);
         if (config != null)
         {
-            clip = AudioLoader.LoadAudio(config.Folder, config.Audio);
+            clip = await AudioLoader.LoadAudio(config.Folder, config.Audio);
         }
 
         if (clip != null)
@@ -383,11 +362,14 @@
 
     public void PlayLoginMusic()
     {
-       var loginMusic = BuiltInLoader.LoadMusic("login");
-       if (!m_MusicAudioSource.isPlaying || m_MusicAudioSource.clip != loginMusic)
-       {
-           StartCoroutine(Co_BackGroundMusicFadeOutIn(loginMusic, false));
-       }
+        BuiltInLoader.LoadMusicAsync("login").ContinueWith(loginMusic =>
+        {
+            if (this == null) return;
+            if (!m_MusicAudioSource.isPlaying || m_MusicAudioSource.clip != loginMusic)
+            {
+                StartCoroutine(Co_BackGroundMusicFadeOutIn(loginMusic, false));
+            }
+        }).Forget();
     }
 
     public async UniTask PlayLoginMusicAsync()
@@ -474,6 +456,6 @@
     IEnumerator Co_DelayPlayBackGrondMusic(float _delay, int _audioId)
     {
         yield return new WaitForSeconds(_delay);
-        PlayBackGroundMusic(_audioId);
+        PlayBackGroundMusic(_audioId).Forget();
     }
 }

--
Gitblit v1.8.0