import { toRaw, markRawList } from '@common/utils/vueTools' import { qualityList } from '@renderer/store' import { clearPlayedList } from '@renderer/store/player/action' import { appSetting } from '@renderer/store/setting' export const getPlayType = (highQuality: boolean, musicInfo: LX.Music.MusicInfo | LX.Download.ListItem): LX.Quality | null => { if ('progress' in musicInfo || musicInfo.source == 'local') return null let type: LX.Quality = '128k' let list = qualityList.value[musicInfo.source] if (highQuality && musicInfo.meta._qualitys['320k'] && list && list.includes('320k')) type = '320k' return type } /** * 过滤列表中已播放的歌曲 */ export const filterList = async({ playedList, listId, list, playerMusicInfo }: { playedList: LX.Player.PlayMusicInfo[] listId: string list: Array playerMusicInfo?: LX.Music.MusicInfo | LX.Download.ListItem }) => { // if (this.list.listName === null) return // console.log(isCheckFile) let { filteredList, canPlayList, playerIndex } = await window.lx.worker.main.filterMusicList({ listId, list: list.map(m => toRaw(m)), playedList: toRaw(playedList), savePath: appSetting['download.savePath'], playerMusicInfo: toRaw(playerMusicInfo), }) if (!filteredList.length && playedList.length) { clearPlayedList() return { filteredList: markRawList(canPlayList), playerIndex } } return { filteredList: markRawList(filteredList), playerIndex } }