diff --git a/src/renderer/components/layout/PlayListWindow/index.vue b/src/renderer/components/layout/PlayListWindow/index.vue index c5279694..067205ad 100644 --- a/src/renderer/components/layout/PlayListWindow/index.vue +++ b/src/renderer/components/layout/PlayListWindow/index.vue @@ -24,7 +24,8 @@ import { } from '@renderer/store/player/state' // import { togglePlay, playNext, playPrev } from '@renderer/core/player' const emit = defineEmits(['close']) - +// todo 点击item切换歌曲 +// todo 当前播放歌曲的item高亮 const playlist = ref(tempPlayList) const songs = computed(() => playlist.value.map(music => ({ diff --git a/src/renderer/core/player/action.ts b/src/renderer/core/player/action.ts index 0649ee68..189b950a 100644 --- a/src/renderer/core/player/action.ts +++ b/src/renderer/core/player/action.ts @@ -490,6 +490,14 @@ export const playNext = async(isAutoToggle = false): Promise => { * 上一曲 */ export const playPrev = async(isAutoToggle = false): Promise => { + if (currentPlayIndex.value > 0) { // 如果稍后播放列表存在歌曲则直接播放改列表的歌曲 + const playMusicInfo = tempPlayList[--(currentPlayIndex.value) ] + // removeTempPlayList(0) + handlePlayNext(playMusicInfo) + console.log('play temp list') + return + } + ////////////预计此处往下的代码失去作用(被接管)///////////// if (playMusicInfo.musicInfo == null) { handleToggleStop() return diff --git a/src/renderer/store/player/action.ts b/src/renderer/store/player/action.ts index d578e80a..79db7e9d 100644 --- a/src/renderer/store/player/action.ts +++ b/src/renderer/store/player/action.ts @@ -230,6 +230,8 @@ export const clearPlayedList = () => { * @param list 歌曲列表 *///todo export const addTempPlayList = (list: LX.Player.TempPlayListItem[]) => { + // todo 添加到下一首播放而不是到最后一首 + // todo 重复歌曲不添加 const topList: Array> = [] const bottomList = list.filter(({ isTop, ...musicInfo }) => { if (isTop) { diff --git a/src/renderer/store/player/state.ts b/src/renderer/store/player/state.ts index 518a08b9..be3fe447 100644 --- a/src/renderer/store/player/state.ts +++ b/src/renderer/store/player/state.ts @@ -73,6 +73,7 @@ export const tempPlayList = shallowReactive([])//todo export const currentPlayIndex = ref(0) +export const currentPlaybackOrder = ref([]) window.lxData.playInfo = playInfo window.lxData.playMusicInfo = playMusicInfo diff --git a/src/renderer/views/List/MusicList/usePlay.js b/src/renderer/views/List/MusicList/usePlay.js index dae75e90..a24d73b8 100644 --- a/src/renderer/views/List/MusicList/usePlay.js +++ b/src/renderer/views/List/MusicList/usePlay.js @@ -1,6 +1,8 @@ import { addTempPlayList, clearTempPlayeList, getList } from '@renderer/store/player/action' -import { tempPlayList, currentPlayIndex } from '@renderer/store/player/state' +import { tempPlayList, currentPlayIndex, currentPlaybackOrder } from '@renderer/store/player/state' import { playNext } from '@renderer/core/player' +import { appSetting } from '@renderer/store/setting' +// import { arrShuffle } from '@common/utils/common' // setup 函数或组件初始化中 @@ -22,6 +24,10 @@ export default ({ props, selectedList, list, removeAllSelect }) => { for(let music of currentchooselist) { addTempPlayList([{ listId: props.listId, musicInfo: music }]) } + if (appSetting['player.togglePlayMethod'] == 'random') { + // todo 随机播放 + // arrShuffle(tempPlayList) + } playNext() }