xref: /MusicFree/src/utils/qualities.ts (revision abaede579edff1edeaf6057cdefc4d0160223b4e)
1/**
2 * 音质相关的所有工具代码
3 */
4
5export const qualityKeys: IMusic.IQualityKey[] = [
6    'low',
7    'standard',
8    'high',
9    'super',
10];
11
12export const qualityText = {
13    low: '低音质',
14    standard: '标准音质',
15    high: '高音质',
16    super: '超高音质',
17};
18
19/** 获取音质顺序 */
20export function getQualityOrder(
21    qualityKey: IMusic.IQualityKey,
22    sort: 'asc' | 'desc',
23) {
24    const idx = qualityKeys.indexOf(qualityKey);
25    const left = qualityKeys.slice(0, idx);
26    const right = qualityKeys.slice(idx + 1);
27    if (sort === 'asc') {
28        /** 优先高音质 */
29        return [qualityKey, ...right, ...left.reverse()];
30    } else {
31        /** 优先低音质 */
32        return [qualityKey, ...left.reverse(), ...right];
33    }
34}
35