forked from miao-moe/QZMusic_PC
21 lines
1.2 KiB
JavaScript
21 lines
1.2 KiB
JavaScript
"use strict";
|
|
const electron = require("electron");
|
|
electron.contextBridge.exposeInMainWorld("electronAPI", {
|
|
// 窗口控制
|
|
minimizeWindow: () => electron.ipcRenderer.send("window-minimize"),
|
|
maximizeWindow: () => electron.ipcRenderer.send("window-maximize"),
|
|
closeWindow: () => electron.ipcRenderer.send("window-close"),
|
|
isMaximized: () => electron.ipcRenderer.invoke("window-is-maximized"),
|
|
// MPV 控制 (Renderer -> Main)
|
|
mpvLoad: (url, autoPlay = true) => electron.ipcRenderer.send("mpv-load", url, autoPlay),
|
|
mpvPlay: () => electron.ipcRenderer.send("mpv-play"),
|
|
mpvPause: () => electron.ipcRenderer.send("mpv-pause"),
|
|
mpvSeek: (time) => electron.ipcRenderer.send("mpv-seek", time),
|
|
mpvSetVolume: (volume) => electron.ipcRenderer.send("mpv-volume", volume),
|
|
// MPV 事件 (Main -> Renderer)
|
|
onMpvTimeUpdate: (callback) => electron.ipcRenderer.on("mpv-time-update", (_, time) => callback(time)),
|
|
onMpvDuration: (callback) => electron.ipcRenderer.on("mpv-duration", (_, duration) => callback(duration)),
|
|
onMpvPlayState: (callback) => electron.ipcRenderer.on("mpv-play-state", (_, isPlaying) => callback(isPlaying)),
|
|
onMpvEnded: (callback) => electron.ipcRenderer.on("mpv-ended", () => callback())
|
|
});
|