impl repeat mode

fix position not being restored on close/open due to some bad progress updates
This commit is contained in:
austinried
2021-08-04 22:15:16 +09:00
parent a0b49ec75f
commit 9dc1ac451c
4 changed files with 75 additions and 18 deletions

View File

@@ -1,15 +1,23 @@
import { useStore } from '@app/state/store'
import { selectTrackPlayer } from '@app/state/trackplayer'
import React, { useEffect } from 'react'
import { useProgress } from 'react-native-track-player'
import { State, useProgress } from 'react-native-track-player'
const ProgressHook = () => {
const playerState = useStore(selectTrackPlayer.playerState)
const setProgress = useStore(selectTrackPlayer.setProgress)
const progress = useProgress(250)
useEffect(() => {
if (playerState !== State.Playing) {
return
}
if (progress.buffered === 0 && progress.duration === 0 && progress.position === 0) {
return
}
setProgress(progress)
}, [setProgress, progress])
}, [setProgress, progress, playerState])
return <></>
}