新增任务栏缩略图工具栏控制按钮

This commit is contained in:
lyswhut
2022-02-21 16:05:41 +08:00
parent e28b8bb6e8
commit 61c1476823
23 changed files with 287 additions and 8 deletions
+2 -1
View File
@@ -40,7 +40,7 @@ export default () => {
isProd,
isLinux,
})
usePlayer({ setting })
const initPlayer = usePlayer({ setting })
const handleEnvParams = useHandleEnvParams()
const initData = useDataInit({
setting,
@@ -60,6 +60,7 @@ export default () => {
// 初始化我的列表、下载列表等数据
initData().then(() => {
initPlayer()
handleEnvParams(envParams) // 处理传入的启动参数
initDeepLink(envParams)
})
@@ -4,6 +4,7 @@ import {
import useMediaDevice from './useMediaDevice'
import usePlayerEvent from './usePlayerEvent'
import usePlayer from './usePlayer'
import useTaskbar from './useTaskbar'
import { init as initPlayTimeoutStop } from '@renderer/utils/timeoutStop'
export default ({ setting }) => {
@@ -12,7 +13,12 @@ export default ({ setting }) => {
usePlayerEvent()
useMediaDevice({ setting }) // 初始化音频驱动输出设置
usePlayer({ setting })
const initTaskbar = useTaskbar()
initPlayTimeoutStop()
return () => {
initTaskbar()
}
}
@@ -195,11 +195,9 @@ export default ({ setting }) => {
const setPlayStatus = () => {
setPlay(true)
setTitle(`${musicInfo.name} - ${musicInfo.singer}`)
}
const setPauseStatus = () => {
setPlay(false)
setTitle()
if (global.isPlayedStop) handlePause()
}
const setStopStatus = () => {
@@ -282,6 +280,7 @@ export default ({ setting }) => {
name: musicInfo.name,
album: musicInfo.albumName,
})
setTitle(`${musicInfo.name} - ${musicInfo.singer}`)
}
const handelStop = () => {
@@ -0,0 +1,125 @@
import { onBeforeUnmount, useCommit } from '@renderer/utils/vueTools'
import { player as eventPlayerNames, taskbar as eventTaskbarNames } from '@renderer/event/names'
import { onTaskbarThumbarClick, setTaskbarThumbnailClip, setTaskbarThumbarButtons } from '@renderer/utils/tools'
// import store from '@renderer/store'
import { loveList, getList } from '@renderer/core/share/list'
import { playMusicInfo } from '@renderer/core/share/player'
export default () => {
const listAdd = useCommit('list', 'listAdd')
const listRemove = useCommit('list', 'listRemove')
// const setVisibleDesktopLyric = useCommit('setVisibleDesktopLyric')
// const setLockDesktopLyric = useCommit('setLockDesktopLyric')
const buttons = {
empty: false,
collect: false,
play: false,
prev: true,
next: true,
lrc: false,
lockLrc: false,
}
const setButtons = () => {
setTaskbarThumbarButtons(buttons)
}
const updateCollectStatus = () => {
let status = getList(loveList.id).some(musicInfo => playMusicInfo.musicInfo.songmid == musicInfo.songmid)
if (buttons.collect == status) return false
buttons.collect = status
return true
}
const handlePlay = () => {
if (buttons.empty) buttons.empty = false
buttons.play = true
setButtons()
}
const handlePause = () => {
if (buttons.empty) buttons.empty = false
buttons.play = false
setButtons()
}
const handleStop = () => {
if (playMusicInfo.musicInfo != null) return
buttons.empty = true
setButtons()
}
const handleSetPlayInfo = () => {
if (!updateCollectStatus()) return
setButtons()
}
const handleSetTaskbarThumbnailClip = (clip) => {
setTaskbarThumbnailClip(clip)
}
// const updateSetting = () => {
// const setting = store.getters.setting
// buttons.lrc = setting.desktopLyric.enable
// buttons.lockLrc = setting.desktopLyric.isLock
// setButtons()
// }
const rTaskbarThumbarClick = onTaskbarThumbarClick((event, action) => {
switch (action) {
case 'play':
window.eventHub.emit(eventPlayerNames.setPlay)
break
case 'pause':
window.eventHub.emit(eventPlayerNames.setPause)
break
case 'prev':
window.eventHub.emit(eventPlayerNames.setPlayPrev)
break
case 'next':
window.eventHub.emit(eventPlayerNames.setPlayNext)
break
case 'collect':
if (!playMusicInfo.musicInfo) return
listAdd({ id: loveList.id, musicInfo: playMusicInfo.musicInfo })
if (updateCollectStatus()) setButtons()
break
case 'unCollect':
if (!playMusicInfo.musicInfo) return
listRemove({ listId: loveList.id, id: playMusicInfo.musicInfo.songmid })
if (updateCollectStatus()) setButtons()
break
// case 'lrc':
// setVisibleDesktopLyric(true)
// updateSetting()
// break
// case 'unLrc':
// setVisibleDesktopLyric(false)
// updateSetting()
// break
// case 'lockLrc':
// setLockDesktopLyric(true)
// updateSetting()
// break
// case 'unlockLrc':
// setLockDesktopLyric(false)
// updateSetting()
// break
}
})
window.eventHub.on(eventPlayerNames.play, handlePlay)
window.eventHub.on(eventPlayerNames.pause, handlePause)
window.eventHub.on(eventPlayerNames.stop, handleStop)
window.eventHub.on(eventPlayerNames.setPlayInfo, handleSetPlayInfo)
window.eventHub.on(eventTaskbarNames.setTaskbarThumbnailClip, handleSetTaskbarThumbnailClip)
onBeforeUnmount(() => {
rTaskbarThumbarClick()
window.eventHub.off(eventPlayerNames.play, handlePlay)
window.eventHub.off(eventPlayerNames.pause, handlePause)
window.eventHub.off(eventPlayerNames.stop, handleStop)
window.eventHub.off(eventPlayerNames.setPlayInfo, handleSetPlayInfo)
window.eventHub.off(eventTaskbarNames.setTaskbarThumbnailClip, handleSetTaskbarThumbnailClip)
})
return () => {
// const setting = store.getters.setting
// buttons.lrc = setting.desktopLyric.enable
// buttons.lockLrc = setting.desktopLyric.isLock
setButtons()
}
}