AudioContainer.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System;
  5. using UnityEngine.UI;
  6. using UnityEngine.Events;
  7. using UnityEngine.EventSystems;
  8. using System.IO;
  9. #if UNITY_EDITOR
  10. using UnityEditor;
  11. #endif
  12. /// <summary>
  13. ///
  14. /// </summary>
  15. public class AudioContainer : MonoBehaviour
  16. {
  17. /// <summary>
  18. /// 路径
  19. /// </summary>
  20. public string mPath = string.Empty;
  21. /// <summary>
  22. /// 资源引用
  23. /// </summary>
  24. public List<AudioClip> mAudioList = new List<AudioClip>();
  25. /// <summary>
  26. /// 执行
  27. /// </summary>
  28. [ContextMenu("Execute")]
  29. public void Execute()
  30. {
  31. #if UNITY_EDITOR
  32. mAudioList.Clear();
  33. // 获取指定目录下的所有 *.png 文件
  34. DirectoryInfo di = new DirectoryInfo(mPath);
  35. FileInfo[] afi = di.GetFiles("*.*");
  36. string fileName;
  37. for (int i = 0; i < afi.Length; i++)
  38. {
  39. fileName = afi[i].Name.ToLower();
  40. if (fileName.EndsWith(".wav") || fileName.EndsWith(".mp3"))
  41. {
  42. LogHelper.Log(afi[i].Name);
  43. UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(mPath + "/" + afi[i].Name, typeof(AudioClip));
  44. mAudioList.Add((AudioClip)obj);
  45. }
  46. }
  47. #endif
  48. }
  49. }