|
@@ -865,8 +865,10 @@ export class Utility {
|
|
|
let artist = tags.artist ||tags.ARTIST || '';
|
|
let artist = tags.artist ||tags.ARTIST || '';
|
|
|
let title = tags.title ||tags.TITLE || '';
|
|
let title = tags.title ||tags.TITLE || '';
|
|
|
const album = tags.album ||tags.ALBUM|| '';
|
|
const album = tags.album ||tags.ALBUM|| '';
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ console.log(`onecold tags.tags:${JSON.stringify(tags)}`);
|
|
|
|
|
+ // console.log(`onecold tags.LYRICS:${tags.LYRICS}`);
|
|
|
|
|
+ // console.log(`onecold tags.lyrics:${tags.lyrics}`);
|
|
|
|
|
+ // console.log(`onecold tags.UNSYNCEDLYRICS:${tags.UNSYNCEDLYRICS}`);
|
|
|
if(StrUtil.isEmpty(title)){
|
|
if(StrUtil.isEmpty(title)){
|
|
|
//自动解析像这样的获取不到元数据的 周杰伦-七里香.mp3文件
|
|
//自动解析像这样的获取不到元数据的 周杰伦-七里香.mp3文件
|
|
|
console.log(`onecold musicName为空:${file.name}`);
|
|
console.log(`onecold musicName为空:${file.name}`);
|
|
@@ -917,21 +919,24 @@ export class Utility {
|
|
|
// 如果标准字段没有歌词,则尝试解析 `lyrics-` 字段
|
|
// 如果标准字段没有歌词,则尝试解析 `lyrics-` 字段
|
|
|
// tags 必须是 Record<string, string | undefined>(或 any)
|
|
// tags 必须是 Record<string, string | undefined>(或 any)
|
|
|
// 如果还是没有歌词内容,尝试查找自定义的lyrics-开头的属性(电脑版音乐标签内嵌歌词就是lyrics-XXX)
|
|
// 如果还是没有歌词内容,尝试查找自定义的lyrics-开头的属性(电脑版音乐标签内嵌歌词就是lyrics-XXX)
|
|
|
- const tagsRecord = tags as Record<string, string>;
|
|
|
|
|
- const possibleKeys = Object.keys(tagsRecord);
|
|
|
|
|
- for (let i = 0; i < possibleKeys.length; i++) {
|
|
|
|
|
- const key = possibleKeys[i];
|
|
|
|
|
- if (key && key.toLowerCase().startsWith('lyrics-')) {
|
|
|
|
|
- //console.info('readMetaInfoFFmpeg videoItem.key: ', key);
|
|
|
|
|
- // 通过转换后的 Record 类型安全访问属性
|
|
|
|
|
- videoItem.lyricContent = tagsRecord[key];
|
|
|
|
|
- //console.info('readMetaInfoFFmpeg videoItem.lyricContent2: ', videoItem.lyricContent);
|
|
|
|
|
- if (videoItem.lyricContent) {
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+ if(StrUtil.isEmpty( videoItem.lyricContent)){
|
|
|
|
|
+ const tagsRecord = tags as Record<string, string>;
|
|
|
|
|
+ const possibleKeys = Object.keys(tagsRecord);
|
|
|
|
|
+ for (let i = 0; i < possibleKeys.length; i++) {
|
|
|
|
|
+ const key = possibleKeys[i];
|
|
|
|
|
+ if (key && key.toLowerCase().startsWith('lyrics-')) {
|
|
|
|
|
+ //console.info('readMetaInfoFFmpeg videoItem.key: ', key);
|
|
|
|
|
+ // 通过转换后的 Record 类型安全访问属性
|
|
|
|
|
+ videoItem.lyricContent = tagsRecord[key];
|
|
|
|
|
+ //console.info('readMetaInfoFFmpeg videoItem.lyricContent2: ', videoItem.lyricContent);
|
|
|
|
|
+ if (videoItem.lyricContent) {
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
videoItem.genre = tags.genre||tags.GENRE|| '';
|
|
videoItem.genre = tags.genre||tags.GENRE|| '';
|
|
|
videoItem.track = tags.track||tags.TRACK|| '';
|
|
videoItem.track = tags.track||tags.TRACK|| '';
|
|
|
|
|
|