AudioResolver.cs 1.3 KB

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