diff --git a/src/features/video/index.tsx b/src/features/video/index.tsx index e6cedd80a..d3e7a574a 100644 --- a/src/features/video/index.tsx +++ b/src/features/video/index.tsx @@ -226,6 +226,9 @@ const Video: React.FC = ({ if (video.current) { video.current.volume = slideamt; + const isMuted = slideamt <= 0; + video.current.muted = isMuted; + setMuted(isMuted); } setVolume(slideamt); @@ -386,13 +389,6 @@ const Video: React.FC = ({ setFullscreen(isFullscreen()); }, []); - const handleMouseEnter = () => { - setHovered(true); - }; - - const handleMouseLeave = () => { - setHovered(false); - }; const handleSeekEnter = () => { setSeekHovered(true); }; @@ -401,17 +397,20 @@ const Video: React.FC = ({ setSeekHovered(false); }; - const handleVolumeEnter = () => { + const handleVolumeEnter = (e: React.MouseEvent) => { + if (isMobile) return; + setVolumeHovered(true); }; - const handleVolumeLeave = () => { + const handleVolumeLeave = (e: React.MouseEvent) => { + if (isMobile) return; + setVolumeHovered(false); }; const handleClickStart = () => { setHovered(true); - setHovered(true); if (timeoutRef.current) { clearTimeout(timeoutRef.current); @@ -562,7 +561,7 @@ const Video: React.FC = ({ />
= ({ type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} - onMouseEnter={handleMouseEnter} - onMouseLeave={handleMouseLeave} + onMouseEnter={handleVolumeEnter} + onMouseLeave={handleVolumeLeave} className={clsx('inline-block flex-none border-0 bg-transparent px-[6px] py-[5px] text-[16px] text-white/75 opacity-75 outline-none hover:text-white hover:opacity-100 focus:text-white focus:opacity-100 active:text-white active:opacity-100 ' , { 'py-[10px]': fullscreen })} onClick={toggleMute}