Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
5.1 KiB

  1. /********************************************************************
  2. * Project : C:\DEPOT\multimedia\eHomeTest\UserXp\MediaManager\MediaManager.sln
  3. * File : MPCollection.cs
  4. * Summary : Provides access to and control of the Media Player library.
  5. * Classes :
  6. * Notes :
  7. * *****************************************************************/
  8. using System;
  9. using WMPOCX;
  10. namespace MediaManager
  11. {
  12. /// <summary>
  13. /// Media Player MediaCollection object support
  14. /// </summary>
  15. /*C+C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C
  16. * public class MPCollection
  17. *
  18. * Summary :
  19. * ---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C*/
  20. public class MPCollection
  21. {
  22. /*M+M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M
  23. * public MPCollection()
  24. * Args :
  25. * Modifies :
  26. * Returns :
  27. * M---M---M---M---M---M---M---M---M---M---M---M---M---M---M---M*/
  28. public MPCollection()
  29. {
  30. // Get access to media player object.
  31. _wmpocx = new WMPOCX.WMPOCXClass() ;
  32. _wmpplayer = (IWMPPlayer) _wmpocx ;
  33. _playList = _wmpplayer.mediaCollection.getAll() ;
  34. } // public MPCollection()
  35. /*M+M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M
  36. * public int Count()
  37. * Summary : Returns number of items in media library
  38. * Args :
  39. * Modifies :
  40. * Returns :
  41. * M---M---M---M---M---M---M---M---M---M---M---M---M---M---M---M*/
  42. public int Count()
  43. {
  44. if ( _playList == null )
  45. {
  46. return 0;
  47. }
  48. return _playList.count;
  49. }
  50. /*M+M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M
  51. * public void DisplayItem(int i)
  52. * Summary : Returns ALL supported attributes for a single item in the media library.
  53. * Args :
  54. * Modifies :
  55. * Returns :
  56. * M---M---M---M---M---M---M---M---M---M---M---M---M---M---M---M*/
  57. public string GetSingleItem(int i, string delim)
  58. {
  59. string displayString;
  60. if ( _playList == null )
  61. {
  62. return "";
  63. }
  64. if ( i >= _playList.count) return "";
  65. displayString = "";
  66. for (int y = 0; y < _attributes.Length; y++)
  67. {
  68. //displayString += " " + _attributes[y] + "=" + _playList.get_Item(i).getItemInfo(_attributes[y]);
  69. displayString += _playList.get_Item(i).getItemInfo(_attributes[y]) + delim;
  70. } // y
  71. //Console.WriteLine("{0}", displayString);
  72. return displayString;
  73. }
  74. /*M+M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M
  75. * public string GetSingleItemAttribute(int i, string attrib)
  76. * Summary : Returns requested attibute for an item.
  77. * Args :
  78. * Modifies :
  79. * Returns :
  80. * M---M---M---M---M---M---M---M---M---M---M---M---M---M---M---M*/
  81. public string GetSingleItemAttribute(int i, string attrib)
  82. {
  83. string displayString;
  84. if ( _playList == null )
  85. {
  86. return "";
  87. }
  88. if ( i >= _playList.count) return "";
  89. displayString = _playList.get_Item(i).getItemInfo(attrib);
  90. return displayString;
  91. }
  92. /*M+M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M+++M
  93. * public string[] GetAllItemsAttribute(string attrib)
  94. * Summary : returns an array containing the requested attribute for all entries in the media library.
  95. * Args :
  96. * Modifies :
  97. * Returns :
  98. * M---M---M---M---M---M---M---M---M---M---M---M---M---M---M---M*/
  99. public string[] GetAllItemsAttribute(string attrib)
  100. {
  101. string[] attribArray = new string[_playList.count];
  102. for (int x = 0; x < _playList.count; x++)
  103. {
  104. attribArray[x] = GetSingleItemAttribute(x, attrib);
  105. }
  106. return attribArray;
  107. }
  108. /*----------------------------------------
  109. * Member Data
  110. * ----------------------------------------*/
  111. private WMPOCX.WMPOCX _wmpocx = null ;
  112. private WMPOCX.IWMPPlayer _wmpplayer = null ;
  113. private IWMPPlaylist _playList = null ;
  114. private string[] _attributes = { "Name", "Genre", "Artist", "Author", "Album", "MediaType",
  115. "MediaAttribute", "TOC", "OriginalIndex", "FileType", "Bitrate",
  116. "DigitallySecure","PlayCount","SourceURL", "Copyright", "CreationDate",
  117. "Composer", "Size", "TotalDuration", "Style", "BuyNow", "MoreInfo",
  118. "Rating", "Label", "Lyrics"};
  119. }
  120. }