Просмотр исходного кода

feat(media): 添加歌曲年份和轨道号信息支持

- 在 NavidromeApi 和 NavidromeRestApi 中新增 year 字段
- 在 NavidromeRestApi 中新增 track 和 contentType 字段
- 更新 RemoteDriveManager 以处理歌曲的 track 和 year 信息
- 在 NavidromePage 中完善视频项的元数据映射逻辑
chendeben 9 месяцев назад
Родитель
Сommit
b798269680

+ 1 - 0
entry/src/main/ets/common/network/NavidromeApi.ets

@@ -36,6 +36,7 @@ export interface NavidromeSong {
   artist?: string;
   album?: string;
   track?: number;
+  year?: number;
   duration?: number;
   bitRate?: number;
   suffix?: string;

+ 3 - 0
entry/src/main/ets/common/network/NavidromeRestApi.ets

@@ -42,6 +42,9 @@ export interface NavidromeRestSong {
   size?: number;
   createdAt?: string;
   genre?: string;
+  track?: number;
+  year?: number;
+  contentType?: string;
   coverArt?: string;
   coverArtId?: string;
   coverArtPath?: string;

+ 6 - 0
entry/src/main/ets/common/util/RemoteDriveManager.ets

@@ -1417,6 +1417,12 @@ export class RemoteDriveManager {
     videoItem.bit_rate = song.bitRate ? song.bitRate.toString() : undefined;
     videoItem.mimeType = song.contentType;
     videoItem.pixelMapPath = coverUrl;
+    if (song.track !== undefined && song.track !== null) {
+      videoItem.track = song.track.toString();
+    }
+    if (song.year !== undefined && song.year !== null) {
+      videoItem.year = song.year.toString();
+    }
     return videoItem;
   }
 

+ 10 - 1
entry/src/main/ets/view/NavidromePage.ets

@@ -322,6 +322,15 @@ export struct NavidromePage {
     videoItem.navArtistId = song.artistId;
     videoItem.navAlbumId = song.albumId;
     videoItem.pixelMapPath = coverUrl;
+    if (song.track !== undefined && song.track !== null) {
+      videoItem.track = song.track.toString();
+    }
+    if (song.year !== undefined && song.year !== null) {
+      videoItem.year = song.year.toString();
+    }
+    if (song.contentType) {
+      videoItem.mimeType = song.contentType;
+    }
     return videoItem;
   }
 
@@ -1012,4 +1021,4 @@ export struct NavidromePage {
     .height('100%')
 
   }
-}
+}