Track: add streamUrlHQ

This commit is contained in:
patrickkfkan 2023-10-28 21:36:52 +08:00
parent 98968e13ca
commit 7b537aade1
8 changed files with 21 additions and 5 deletions

View File

@ -129,6 +129,10 @@ export default class AlbumInfoParser {
if (streamUrl) { if (streamUrl) {
trackItem.streamUrl = streamUrl; trackItem.streamUrl = streamUrl;
} }
const streamUrlHQ = track.file?.['mp3-v0'];
if (streamUrlHQ) {
trackItem.streamUrlHQ = streamUrlHQ;
}
if (track.track_num !== undefined) { if (track.track_num !== undefined) {
trackItem.position = track.track_num; trackItem.position = track.track_num;
} }

View File

@ -120,7 +120,8 @@ export default class ArticleParser {
position: trackInfo.track_number, position: trackInfo.track_number,
name: trackInfo.track_title, name: trackInfo.track_title,
duration: trackInfo.audio_track_duration, duration: trackInfo.audio_track_duration,
streamUrl: trackInfo.audio_url?.['mp3-128'] streamUrl: trackInfo.audio_url?.['mp3-128'],
streamUrlHQ: trackInfo.audio_url?.['mp3-v0']
})); }));
} }

View File

@ -40,7 +40,8 @@ export default class DiscoverResultParser {
album.featuredTrack = { album.featuredTrack = {
name: item.featured_track.title, name: item.featured_track.title,
duration: item.featured_track.duration, duration: item.featured_track.duration,
streamUrl: item.featured_track.file?.['mp3-128'] streamUrl: item.featured_track.file?.['mp3-128'],
streamUrlHQ: item.featured_track.file?.['mp3-v0']
}; };
} }
if (item.bio_image && opts.artistImageFormat) { if (item.bio_image && opts.artistImageFormat) {

View File

@ -73,13 +73,15 @@ export default class FanWishlistParser extends FanItemsBaseParser {
if (featuredTrackData) { if (featuredTrackData) {
const duration = featuredTrackData.duration; const duration = featuredTrackData.duration;
const streamUrl = featuredTrackData.file?.['mp3-128']; const streamUrl = featuredTrackData.file?.['mp3-128'];
const streamUrlHQ = featuredTrackData.file?.['mp3-v0'];
if (mediaItemType === 'album') { if (mediaItemType === 'album') {
(mediaItem as Album).featuredTrack = { (mediaItem as Album).featuredTrack = {
position: featuredTrackData.track_number, position: featuredTrackData.track_number,
name: featuredTrackData.title, name: featuredTrackData.title,
artist: featuredTrackData.artist, artist: featuredTrackData.artist,
duration, duration,
streamUrl streamUrl,
streamUrlHQ
}; };
} }
else { else {

View File

@ -51,7 +51,8 @@ export default class AlbumHighlightsByTagParser {
if (item.featured_track_title) { if (item.featured_track_title) {
album.featuredTrack = { album.featuredTrack = {
name: item.featured_track_title, name: item.featured_track_title,
streamUrl: item.audio_url?.['mp3-128'] streamUrl: item.audio_url?.['mp3-128'],
streamUrlHQ: item.audio_url?.['mp3-v0']
}; };
} }
collectionRes.items.push(album); collectionRes.items.push(album);

View File

@ -168,7 +168,8 @@ export default class ReleasesByTagParser {
album.featuredTrack = { album.featuredTrack = {
name: item.featured_track_title, name: item.featured_track_title,
position: item.featured_track_number, position: item.featured_track_number,
streamUrl: item.audio_url?.['mp3-128'] streamUrl: item.audio_url?.['mp3-128'],
streamUrlHQ: item.audio_url?.['mp3-v0']
}; };
} }
else if (mediaItemType === 'track') { else if (mediaItemType === 'track') {

View File

@ -85,6 +85,11 @@ export default class TrackInfoParser {
track.streamUrl = streamUrl; track.streamUrl = streamUrl;
} }
const streamUrlHQ = extra.trackinfo?.[0]?.file?.['mp3-v0'];
if (streamUrlHQ) {
track.streamUrlHQ = streamUrlHQ;
}
let byArtist; let byArtist;
if (basic.inAlbum?.byArtist) { if (basic.inAlbum?.byArtist) {
byArtist = basic.inAlbum.byArtist; byArtist = basic.inAlbum.byArtist;

View File

@ -6,6 +6,7 @@ interface Track extends MediaKind {
duration?: number; duration?: number;
seekPosition?: number; seekPosition?: number;
streamUrl?: string; streamUrl?: string;
streamUrlHQ?: string;
album?: Omit<Album, 'type'>; album?: Omit<Album, 'type'>;
position?: number; position?: number;
} }