AudioResolver.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.ComponentModel.Composition;
  2. using System.IO;
  3. using MediaBrowser.Controller.Events;
  4. using MediaBrowser.Model.Entities;
  5. namespace MediaBrowser.Controller.Resolvers
  6. {
  7. [Export(typeof(IBaseItemResolver))]
  8. public class AudioResolver : BaseItemResolver<Audio>
  9. {
  10. protected override Audio Resolve(ItemResolveEventArgs args)
  11. {
  12. // Return audio if the path is a file and has a matching extension
  13. if (!args.IsFolder)
  14. {
  15. if (IsAudioFile(args.Path))
  16. {
  17. return new Audio();
  18. }
  19. }
  20. return null;
  21. }
  22. private static bool IsAudioFile(string path)
  23. {
  24. string extension = Path.GetExtension(path).ToLower();
  25. switch (extension)
  26. {
  27. case ".mp3":
  28. case ".wma":
  29. case ".acc":
  30. case ".flac":
  31. case ".m4a":
  32. case ".m4b":
  33. case ".wav":
  34. case ".ape":
  35. return true;
  36. default:
  37. return false;
  38. }
  39. }
  40. }
  41. }