feat: add audio quality selector (standard to jymaster/Hi-Res)

- MusicProvider interface: setQuality/getQuality methods
- NeteaseProvider: passes quality level to /song/url/v1
- Default: exhigh (320kbps MP3)
- Settings page: 6-option grid selector
- GET/POST /api/music/quality endpoints

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
saopig1andClaude Opus 4.6 committed 2026-03-30 03:37:26 +08:00
1 parent 0439bd047f
commit b74c8e8add
5 files changed
+142 -4

No files matched your search

+3 -1
View File
@@ -57,7 +57,9 @@ export interface MusicProvider {
readonly platform: "netease" | "qq";
search(query: string, limit?: number): Promise<SearchResult>;
getSongUrl(songId: string): Promise<string | null>;
getSongUrl(songId: string, quality?: string): Promise<string | null>;
setQuality(quality: string): void;
getQuality(): string;
getSongDetail(songId: string): Promise<Song | null>;
getPlaylistSongs(playlistId: string): Promise<Song[]>;
getRecommendPlaylists(): Promise<Playlist[]>;