import { useState } from "react"; import { Text, View } from "react-native"; import { Event, useActiveTrack, useProgress, useTrackPlayerEvents } from "react-native-track-player"; import { handlePlayerError } from "./helpers/error-handlers"; /** * Events subscribed to within RNTP */ const playerEvents = [ Event.PlaybackState, Event.PlaybackError ] export default function Player(): React.JSX.Element { //#region RNTP Setup const [playerState, setPlayerState] = useState(null); useTrackPlayerEvents(playerEvents, (event : any) => { playerEventCallback(event, setPlayerState) }); const { position, buffered, duration } = useProgress() let activeTrack = useActiveTrack()!; //#endregion RNTP Setup return ( {activeTrack.title ?? "Nothing playing"} ); } function playerEventCallback(event: any, setPlayerState: React.Dispatch>) { if (event.type === Event.PlaybackError) handlePlayerError(); if (event.type === Event.PlaybackState) { setPlayerState(event.state) } }