mirror of
https://github.com/zadam/trilium.git
synced 2026-03-13 20:03:36 +01:00
fix(video_player): playback speed can get out of sync with external control
This commit is contained in:
parent
fc6e9d89d9
commit
5a16bafbbf
@ -237,7 +237,18 @@ function VolumeControl({ videoRef }: { videoRef: RefObject<HTMLVideoElement> })
|
||||
const PLAYBACK_SPEEDS = [0.5, 1, 1.25, 1.5, 2];
|
||||
|
||||
function PlaybackSpeed({ videoRef }: { videoRef: RefObject<HTMLVideoElement> }) {
|
||||
const [speed, setSpeed] = useState(1);
|
||||
const [speed, setSpeed] = useState(() => videoRef.current?.playbackRate ?? 1);
|
||||
|
||||
useEffect(() => {
|
||||
const video = videoRef.current;
|
||||
if (!video) return;
|
||||
|
||||
setSpeed(video.playbackRate);
|
||||
|
||||
const onRateChange = () => setSpeed(video.playbackRate);
|
||||
video.addEventListener("ratechange", onRateChange);
|
||||
return () => video.removeEventListener("ratechange", onRateChange);
|
||||
}, []);
|
||||
|
||||
const selectSpeed = (rate: number) => {
|
||||
const video = videoRef.current;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user