新增定时暂停播放功能

This commit is contained in:
lyswhut
2022-02-14 15:38:27 +08:00
parent c891ed81e1
commit c12be6a1c8
18 changed files with 388 additions and 16 deletions
+22 -1
View File
@@ -1,4 +1,4 @@
const { mainOn, mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('@common/ipc')
const { mainOn, mainHandle, mainSend, NAMES: { mainWindow: ipcMainWindowNames } } = require('@common/ipc')
const timeoutMap = new Map()
@@ -23,3 +23,24 @@ mainOn(ipcMainWindowNames.wait_cancel, (event, id) => {
clearTimeout(timeout.timeout)
timeout.reject('cancelled')
})
mainOn(ipcMainWindowNames.interval, (event, { time, id }) => {
if (timeoutMap.has(id)) return
const timeout = setInterval(() => {
if (global.modules.mainWindow) mainSend(global.modules.mainWindow, ipcMainWindowNames.interval_callback, id)
}, time)
timeoutMap.set(id, {
timeout,
type: 'interval',
time,
})
})
mainOn(ipcMainWindowNames.interval_cancel, (event, id) => {
if (!timeoutMap.has(id)) return
const timeout = timeoutMap.get(id)
timeoutMap.delete(id)
if (timeout.type != 'interval') return
clearInterval(timeout.timeout)
})