diff --git a/packages/renderer/src/features/player/hooks/use-center-controls.ts b/packages/renderer/src/features/player/hooks/use-center-controls.ts index 467f0698c..8330fb814 100644 --- a/packages/renderer/src/features/player/hooks/use-center-controls.ts +++ b/packages/renderer/src/features/player/hooks/use-center-controls.ts @@ -432,47 +432,49 @@ export const useCenterControls = (args: { playersRef: any }) => { ); useEffect(() => { - mpvPlayerListener.rendererPlayPause(() => { - handlePlayPause(); - }); + if (isElectron()) { + mpvPlayerListener.rendererPlayPause(() => { + handlePlayPause(); + }); - mpvPlayerListener.rendererNext(() => { - handleNextTrack(); - }); + mpvPlayerListener.rendererNext(() => { + handleNextTrack(); + }); - mpvPlayerListener.rendererPrevious(() => { - handlePrevTrack(); - }); + mpvPlayerListener.rendererPrevious(() => { + handlePrevTrack(); + }); - mpvPlayerListener.rendererPlay(() => { - handlePlay(); - }); + mpvPlayerListener.rendererPlay(() => { + handlePlay(); + }); - mpvPlayerListener.rendererPause(() => { - handlePause(); - }); + mpvPlayerListener.rendererPause(() => { + handlePause(); + }); - mpvPlayerListener.rendererStop(() => { - handleStop(); - }); + mpvPlayerListener.rendererStop(() => { + handleStop(); + }); - mpvPlayerListener.rendererCurrentTime((_event, time: number) => { - setCurrentTime(time); - }); + mpvPlayerListener.rendererCurrentTime((_event, time: number) => { + setCurrentTime(time); + }); - mpvPlayerListener.rendererAutoNext(() => { - handleAutoNext(); - }); + mpvPlayerListener.rendererAutoNext(() => { + handleAutoNext(); + }); + } return () => { - ipc.removeAllListeners('renderer-player-play-pause'); - ipc.removeAllListeners('renderer-player-next'); - ipc.removeAllListeners('renderer-player-previous'); - ipc.removeAllListeners('renderer-player-play'); - ipc.removeAllListeners('renderer-player-pause'); - ipc.removeAllListeners('renderer-player-stop'); - ipc.removeAllListeners('renderer-player-current-time'); - ipc.removeAllListeners('renderer-player-auto-next'); + ipc?.removeAllListeners('renderer-player-play-pause'); + ipc?.removeAllListeners('renderer-player-next'); + ipc?.removeAllListeners('renderer-player-previous'); + ipc?.removeAllListeners('renderer-player-play'); + ipc?.removeAllListeners('renderer-player-pause'); + ipc?.removeAllListeners('renderer-player-stop'); + ipc?.removeAllListeners('renderer-player-current-time'); + ipc?.removeAllListeners('renderer-player-auto-next'); }; }, [ autoNext, diff --git a/packages/renderer/src/features/player/hooks/use-right-controls.ts b/packages/renderer/src/features/player/hooks/use-right-controls.ts index ab8872405..2931bd248 100644 --- a/packages/renderer/src/features/player/hooks/use-right-controls.ts +++ b/packages/renderer/src/features/player/hooks/use-right-controls.ts @@ -1,4 +1,5 @@ import { useEffect } from 'react'; +import isElectron from 'is-electron'; import { mpvPlayer } from '#preload'; import { usePlayerStore } from '../../../store'; @@ -10,11 +11,14 @@ export const useRightControls = () => { // Ensure that the mpv player volume is set on startup useEffect(() => { - mpvPlayer.volume(volume); + if (isElectron()) { + mpvPlayer.volume(volume); - if (muted) { - mpvPlayer.mute(); + if (muted) { + mpvPlayer.mute(); + } } + // eslint-disable-next-line react-hooks/exhaustive-deps }, []);