diff --git a/enjoy/src/renderer/components/medias/media-player-controls.tsx b/enjoy/src/renderer/components/medias/media-player-controls.tsx index b387bd2cf..b71204614 100644 --- a/enjoy/src/renderer/components/medias/media-player-controls.tsx +++ b/enjoy/src/renderer/components/medias/media-player-controls.tsx @@ -57,9 +57,7 @@ export const MediaPlayerControls = () => { setTranscriptionDraft, } = useContext(MediaPlayerProviderContext); const { EnjoyApp } = useContext(AppSettingsProviderContext); - const { currentHotkeys } = useContext( - HotKeysSettingsProviderContext - ); + const { currentHotkeys } = useContext(HotKeysSettingsProviderContext); const [playMode, setPlayMode] = useState<"loop" | "single" | "all">("single"); const [playbackRate, setPlaybackRate] = useState(1); const [grouping, setGrouping] = useState(false); @@ -332,9 +330,8 @@ export const MediaPlayerControls = () => { setCurrentSegmentIndex(0); return; } - wavesurfer.seekTo( - Math.ceil((segment.startTime / wavesurfer.getDuration()) * 1e8) / 1e8 - ); + wavesurfer.setScrollTime(segment.startTime); + wavesurfer.setTime(parseFloat(segment.startTime.toFixed(6))); }, [decoded, transcription?.id, wavesurfer]); useEffect(() => { @@ -372,9 +369,7 @@ export const MediaPlayerControls = () => { if (currentTime < activeRegion.start || currentTime > activeRegion.end) { wavesurfer.setScrollTime(activeRegion.start); - wavesurfer.seekTo( - Math.ceil((activeRegion.start / wavesurfer.getDuration()) * 1e8) / 1e8 - ); + wavesurfer.setTime(parseFloat(activeRegion.start.toFixed(6))); } }, [wavesurfer, decoded, playMode, activeRegion, currentTime]); diff --git a/enjoy/src/renderer/components/medias/media-transcription.tsx b/enjoy/src/renderer/components/medias/media-transcription.tsx index fa10dc5bf..e3e40d97b 100644 --- a/enjoy/src/renderer/components/medias/media-transcription.tsx +++ b/enjoy/src/renderer/components/medias/media-transcription.tsx @@ -182,10 +182,7 @@ export const MediaTranscription = (props: { display?: boolean }) => { currentSegmentIndex === index ? "bg-yellow-400/25" : "" }`} onClick={() => { - const duration = wavesurfer.getDuration(); - wavesurfer.seekTo( - Math.floor((sentence.startTime / duration) * 1e8) / 1e8 - ); + wavesurfer.setTime(sentence.startTime); wavesurfer.setScrollTime(sentence.startTime); setCurrentSegmentIndex(index); }} diff --git a/enjoy/src/renderer/components/recordings/recording-player.tsx b/enjoy/src/renderer/components/recordings/recording-player.tsx index 6b4b5d629..180625566 100644 --- a/enjoy/src/renderer/components/recordings/recording-player.tsx +++ b/enjoy/src/renderer/components/recordings/recording-player.tsx @@ -102,7 +102,7 @@ export const RecordingPlayer = (props: { if (!wavesurfer) return; if (!seek?.seekTo) return; - wavesurfer.seekTo(seek.seekTo / wavesurfer.getDuration()); + wavesurfer.setTime(parseFloat(seek.seekTo.toFixed(6))); }, [seek, wavesurfer]); useEffect(() => {