Use local seekvalue to smooth out slider drag
This commit is contained in:
parent
1bbdf09dcc
commit
13f48711a9
1 changed files with 8 additions and 1 deletions
|
|
@ -111,6 +111,8 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
|
||||||
return () => clearInterval(interval);
|
return () => clearInterval(interval);
|
||||||
}, [currentPlayerRef, isSeeking, setCurrentTime, playerType, status]);
|
}, [currentPlayerRef, isSeeking, setCurrentTime, playerType, status]);
|
||||||
|
|
||||||
|
const [seekValue, setSeekValue] = useState(0);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ControlsContainer>
|
<ControlsContainer>
|
||||||
|
|
@ -216,11 +218,16 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
|
||||||
max={songDuration}
|
max={songDuration}
|
||||||
min={0}
|
min={0}
|
||||||
size={6}
|
size={6}
|
||||||
value={currentTime}
|
value={!isSeeking ? currentTime : seekValue}
|
||||||
w="100%"
|
w="100%"
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
setIsSeeking(true);
|
||||||
|
setSeekValue(e);
|
||||||
|
}}
|
||||||
|
onChangeEnd={(e) => {
|
||||||
handleSeekSlider(e);
|
handleSeekSlider(e);
|
||||||
setIsSeeking(false);
|
setIsSeeking(false);
|
||||||
|
console.log('end');
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SliderWrapper>
|
</SliderWrapper>
|
||||||
|
|
|
||||||
Reference in a new issue