Browse Source

Added AudioInfo to DTOBaseItem

LukePulverenti Luke Pulverenti luke pulverenti 13 năm trước cách đây
mục cha
commit
da23355fcc

+ 19 - 4
MediaBrowser.Api/ApiService.cs

@@ -20,8 +20,8 @@ namespace MediaBrowser.Api
             return Kernel.Instance.GetItemById(guid);
         }
 
-        public async static Task<DTOBaseItem> GetDTOBaseItem(BaseItem item, User user, 
-            bool includeChildren = true, 
+        public async static Task<DTOBaseItem> GetDTOBaseItem(BaseItem item, User user,
+            bool includeChildren = true,
             bool includePeople = true)
         {
             DTOBaseItem dto = new DTOBaseItem();
@@ -102,7 +102,22 @@ namespace MediaBrowser.Api
                 dto.IsRoot = folder.IsRoot;
                 dto.IsVirtualFolder = folder is VirtualFolder;
             }
-            
+
+            Audio audio = item as Audio;
+
+            if (audio != null)
+            {
+                dto.AudioInfo = new AudioInfo()
+                {
+                    Album = audio.Album,
+                    AlbumArtist = audio.AlbumArtist,
+                    Artist = audio.Artist,
+                    BitRate = audio.BitRate,
+                    Channels = audio.Channels,
+                    Composer = audio.Composer
+                };
+            }
+
             return dto;
         }
 
@@ -112,7 +127,7 @@ namespace MediaBrowser.Api
             if (item.Studios != null)
             {
                 IEnumerable<Studio> entities = await Task.WhenAll<Studio>(item.Studios.Select(c => Kernel.Instance.ItemController.GetStudio(c)));
-                
+
                 dto.Studios = item.Studios.Select(s =>
                 {
                     BaseItemStudio baseItemStudio = new BaseItemStudio();

+ 14 - 0
MediaBrowser.Model/DTO/AudioInfo.cs

@@ -0,0 +1,14 @@
+
+namespace MediaBrowser.Model.DTO
+{
+    public class AudioInfo
+    {
+        public int BitRate { get; set; }
+        public int Channels { get; set; }
+
+        public string Artist { get; set; }
+        public string Album { get; set; }
+        public string AlbumArtist { get; set; }
+        public string Composer { get; set; }
+    }
+}

+ 2 - 0
MediaBrowser.Model/DTO/DTOBaseItem.cs

@@ -90,6 +90,8 @@ namespace MediaBrowser.Model.DTO
 
         public ItemSpecialCounts SpecialCounts { get; set; }
 
+        public AudioInfo AudioInfo { get; set; }
+        
         public bool IsType(Type type)
         {
             return IsType(type.Name);

+ 1 - 0
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -32,6 +32,7 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
+    <Compile Include="DTO\AudioInfo.cs" />
     <Compile Include="DTO\DTOBaseItem.cs" />
     <Compile Include="Entities\Audio.cs" />
     <Compile Include="Entities\BaseEntity.cs" />