using UnityEngine; using System.Collections; using System; public class AudioLoader { static string AUDIO_EXTERSION = ".wav"; public static AudioClip LoadAudio(string _folderName, string _clipName) { AudioClip audioClip = null; if (AssetSource.audioFromEditor) { #if UNITY_EDITOR var fileName = StringUtility.Contact("/", _clipName, AUDIO_EXTERSION); var path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath, ResourcesPath.AUDIO_SUFFIX, _folderName, fileName); audioClip = UnityEditor.AssetDatabase.LoadAssetAtPath(path); #endif } else { var assetInfo = new AssetInfo(StringUtility.Contact("audio/", _folderName), _clipName); audioClip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AudioClip; } if (audioClip == null) { DebugEx.LogErrorFormat("AudioLoader.LoadSkillAudio() => 加载不到资源: {0}.", _clipName); } return audioClip; } public static void LoadAudioAsync(string _folderName, string _clipName, Action _callBack) { AudioClip audioClip = null; if (AssetSource.audioFromEditor) { #if UNITY_EDITOR var fileName = StringUtility.Contact("/", _clipName, AUDIO_EXTERSION); var path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath, ResourcesPath.AUDIO_SUFFIX, _folderName, fileName); audioClip = UnityEditor.AssetDatabase.LoadAssetAtPath(path); if (_callBack != null) { _callBack(true, audioClip); } #endif } else { var assetInfo = new AssetInfo(StringUtility.Contact("audio/", _folderName).ToLower(), _clipName); AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack); } } }