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<AudioClip>(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<bool, UnityEngine.Object> _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<AudioClip>(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);
|
}
|
|
}
|
|
}
|