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