mirror of
https://git.unlock-music.dev/um/web.git
synced 2025-11-05 11:31:24 +00:00
Add Tag Edit Function & Wasm for Qmc & Kgm
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
WriteMetaToFlac,
|
||||
WriteMetaToMp3,
|
||||
AudioMimeType,
|
||||
split_regex,
|
||||
} from '@/decrypt/utils';
|
||||
import { getQMImageURLFromPMID, queryAlbumCover, querySongInfoById } from '@/utils/api';
|
||||
|
||||
@@ -38,13 +39,20 @@ export async function extractQQMusicMeta(
|
||||
if (!musicMeta.native.hasOwnProperty(metaIdx)) continue;
|
||||
if (musicMeta.native[metaIdx].some((item) => item.id === 'TCON' && item.value === '(12)')) {
|
||||
console.warn('try using gbk encoding to decode meta');
|
||||
musicMeta.common.artist = iconv.decode(new Buffer(musicMeta.common.artist ?? ''), 'gbk');
|
||||
musicMeta.common.artist = '';
|
||||
if (musicMeta.common.artists == undefined) {
|
||||
musicMeta.common.artist = iconv.decode(new Buffer(musicMeta.common.artist ?? ''), 'gbk');
|
||||
}
|
||||
else {
|
||||
musicMeta.common.artists.forEach((artist) => artist = iconv.decode(new Buffer(artist ?? ''), 'gbk'));
|
||||
musicMeta.common.artist = musicMeta.common.artists.toString();
|
||||
}
|
||||
musicMeta.common.title = iconv.decode(new Buffer(musicMeta.common.title ?? ''), 'gbk');
|
||||
musicMeta.common.album = iconv.decode(new Buffer(musicMeta.common.album ?? ''), 'gbk');
|
||||
}
|
||||
}
|
||||
|
||||
if (id) {
|
||||
if (id && id !== '0') {
|
||||
try {
|
||||
return fetchMetadataFromSongId(id, ext, musicMeta, musicBlob);
|
||||
} catch (e) {
|
||||
@@ -67,7 +75,7 @@ export async function extractQQMusicMeta(
|
||||
imgUrl: imageURL,
|
||||
blob: await writeMetaToAudioFile({
|
||||
title: info.title,
|
||||
artists: info.artist.split(' _ '),
|
||||
artists: info.artist.split(split_regex),
|
||||
ext,
|
||||
imageURL,
|
||||
musicMeta,
|
||||
@@ -88,7 +96,7 @@ async function fetchMetadataFromSongId(
|
||||
|
||||
return {
|
||||
title: info.track_info.title,
|
||||
artist: artists.join('、'),
|
||||
artist: artists.join(','),
|
||||
album: info.track_info.album.name,
|
||||
imgUrl: imageURL,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user