use total duration from track metadata

This commit is contained in:
Violet Caulfield
2026-03-04 16:50:34 -06:00
parent e7b9b83732
commit 575b864609
3 changed files with 3 additions and 15 deletions

View File

@@ -7,7 +7,8 @@ import {
useNowPlaying,
useOnPlaybackStateChange,
} from 'react-native-nitro-player'
import { usePlaybackPosition, useTotalDuration } from '../../stores/player/playback'
import { usePlaybackPosition } from '../../stores/player/playback'
import { useCurrentTrack } from '../../stores/player/queue'
interface UseProgressResult {
position: number
@@ -16,7 +17,7 @@ interface UseProgressResult {
export const useProgress = (): UseProgressResult => {
const position = usePlaybackPosition()
const totalDuration = useTotalDuration()
const totalDuration = useCurrentTrack()?.duration || 0
const playerEngineData = usePlayerEngineStore((state) => state.playerEngineData)

View File

@@ -105,7 +105,6 @@ export async function onChangeTrack() {
export async function onPlaybackProgress(position: number, totalDuration: number) {
usePlayerPlaybackStore.setState({
position,
totalDuration,
})
const { currentTrack } = usePlayerQueueStore.getState()

View File

@@ -5,9 +5,6 @@ import { devtools, persist, createJSONStorage } from 'zustand/middleware'
type PlayerPlaybackStore = {
position: number
setPosition: (position: number) => void
totalDuration: number
setTotalDuration: (duration: number) => void
}
export const usePlayerPlaybackStore = create<PlayerPlaybackStore>()(
@@ -16,9 +13,6 @@ export const usePlayerPlaybackStore = create<PlayerPlaybackStore>()(
(set) => ({
position: 0,
setPosition: (position: number) => set({ position }),
totalDuration: 0,
setTotalDuration: (duration: number) => set({ totalDuration: duration }),
}),
{
name: 'player-playback-storage',
@@ -33,9 +27,3 @@ export const usePlaybackPosition = () => usePlayerPlaybackStore((state) => state
export const setPlaybackPosition = (position: number) => {
usePlayerPlaybackStore.getState().setPosition(position)
}
export const useTotalDuration = () => usePlayerPlaybackStore((state) => state.totalDuration)
export const setTotalDuration = (duration: number) => {
usePlayerPlaybackStore.getState().setTotalDuration(duration)
}