using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; public class VideoLoader { static string MP4_EXTERSION = ".mp4"; public static VideoClip Load(string _clipName) { VideoClip videoClip = null; if (AssetSource.videoFromEditor) { #if UNITY_EDITOR var fileName = StringUtility.Contact("/", _clipName, MP4_EXTERSION); var path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath, ResourcesPath.VIDEO_SUFFIX, fileName); videoClip = UnityEditor.AssetDatabase.LoadAssetAtPath(path); #endif } else { var assetInfo = new AssetInfo("video/" + _clipName, _clipName); videoClip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as VideoClip; } if (videoClip == null) { DebugEx.LogErrorFormat("AudioLoader.LoadSkillAudio() => 加载不到资源: {0}.", _clipName); } return videoClip; } public static void LoadAsync(string _folderName, string _clipName, Action _callBack) { VideoClip videoClip = null; if (AssetSource.audioFromEditor) { #if UNITY_EDITOR var fileName = StringUtility.Contact("/", _clipName, MP4_EXTERSION); var path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath, ResourcesPath.VIDEO_SUFFIX, _folderName, fileName); videoClip = UnityEditor.AssetDatabase.LoadAssetAtPath(path); if (_callBack != null) { _callBack(true, videoClip); } #endif } else { var assetInfo = new AssetInfo("video/mp4", _clipName); AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack); } } }