diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index bcd973267..571ad445e 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -46,6 +46,7 @@ const Player = ({ urlParams, queryParams }) => { const platform = usePlatform(); const toast = useToast(); + const lastVolumeRef = React.useRef(video.state?.volume || 0); const [seeking, setSeeking] = React.useState(false); const [casting, setCasting] = React.useState(() => { @@ -535,6 +536,12 @@ const Player = ({ urlParams, queryParams }) => { } }, [settings.pauseOnMinimize, shell.windowClosed, shell.windowHidden]); + React.useEffect(() => { + if (video?.state?.volume) { + lastVolumeRef.current = video.state.volume; + } + }, [video.state.volume]); + // Media Session PlaybackState React.useEffect(() => { if (!navigator.mediaSession) return; @@ -678,6 +685,17 @@ const Player = ({ urlParams, queryParams }) => { onIncreaseSubtitlesDelay(); break; } + case 'KeyM': { + if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) { + if (video.state.volume) { + onVolumeChangeRequested(0); + } else { + onVolumeChangeRequested(lastVolumeRef.current); + } + } + + break; + } case 'Minus': { onUpdateSubtitlesSize(-1); break;