Skip to main content

Constants

React Track Player Web provides several constants for player states, events, capabilities, and repeat modes.

State​

Enum representing the different states the player can be in.

import { State } from "react-track-player-web"
ConstantDescription
State.NonePlayer is not initialized
State.ReadyPlayer is ready but not playing
State.PlayingAudio is playing
State.PausedPlayback is paused
State.StoppedPlayback is stopped (at start position)
State.BufferingPlayer is buffering audio
State.ErrorAn error occurred

Example​

import { State } from "react-track-player-web"

// Check if player is currently playing
if (TrackPlayer.getPlaybackState() === State.Playing) {
console.log("Music is playing!")
}

Event​

Enum representing the different events that can be emitted by the player.

import { Event } from "react-track-player-web"
ConstantDescriptionEvent Data
Event.PlaybackStateFired when the playback state changes{ state: State }
Event.PlaybackTrackChangedFired when the current track changes{ prevTrack: number | null, nextTrack: number | null }
Event.PlaybackProgressUpdatedFired periodically with position updates{ position: number, duration: number, buffered: number }
Event.PlaybackErrorFired when an error occurs during playback{ error: string, code?: string }

Example​

import { Event } from "react-track-player-web"

// Listen for playback errors
TrackPlayer.addEventListener(Event.PlaybackError, (data) => {
console.error("Playback error:", data.error)
if (data.code) {
console.error("Error code:", data.code)
}
})

// Listen for track changes
TrackPlayer.addEventListener(Event.PlaybackTrackChanged, (data) => {
console.log("Track changed from", data.prevTrack, "to", data.nextTrack)
})

Capability​

Enum representing the different capabilities that can be enabled for the player.

import { Capability } from "react-track-player-web"
ConstantDescription
Capability.PlayEnable play functionality
Capability.PauseEnable pause functionality
Capability.StopEnable stop functionality
Capability.SkipEnable skip to any track in the queue
Capability.SkipToNextEnable skip to next track
Capability.SkipToPreviousEnable skip to previous track
Capability.SeekToEnable seeking to position
Capability.SeekByEnable seeking forward or backward by a relative amount of time
Capability.SetVolumeEnable volume control
Capability.SetRateEnable playback rate control

Example​

import { Capability } from "react-track-player-web"

// Setup player with specific capabilities
await TrackPlayer.setupPlayer({
capabilities: [
Capability.Play,
Capability.Pause,
Capability.SkipToNext,
Capability.SkipToPrevious,
Capability.SeekTo
]
})

RepeatMode​

Enum representing the different repeat modes for playback.

import { RepeatMode } from "react-track-player-web"
ConstantDescription
RepeatMode.OffNo repeat, play through queue once
RepeatMode.TrackRepeat the current track
RepeatMode.QueueRepeat the entire queue

Example​

import { RepeatMode } from "react-track-player-web"

// Set player to repeat the current track
await TrackPlayer.setRepeatMode(RepeatMode.Track)

// Check current repeat mode
const currentMode = TrackPlayer.getRepeatMode()
if (currentMode === RepeatMode.Queue) {
console.log("Player is set to repeat the entire queue")
}

EqualizerFrequency​

Type representing the standard 10-band equalizer frequencies in Hz.

import { EqualizerFrequency } from "react-track-player-web"
FrequencyBand Description
32Sub-bass
64Bass
125Low mids
250Midrange
500Upper mids
1000Presence
2000Upper presence
4000Brilliance
8000Treble
16000Air

Example​

// Get all available frequencies
const frequencies = [32, 64, 125, 250, 500, 1000, 2000, 4000, 8000, 16000]

// Set gain for specific frequency
TrackPlayer.setEqualizerBandGain(0, 4) // Set 32Hz band to +4dB

EqualizerPreset​

Type representing predefined equalizer configurations for different music genres.

import { EqualizerPreset } from "react-track-player-web"
PresetDescription
"flat"No adjustments (0dB on all bands)
"rock"Enhanced bass and treble for rock music
"pop"Balanced with slight bass and treble boost
"jazz"Smooth mid-range emphasis
"classical"Natural sound with subtle enhancements
"electronic"Heavy bass and crisp highs for electronic music
"vocal"Mid-range boost for vocal clarity
"bass"Heavy low-frequency emphasis
"treble"High-frequency emphasis

Example​

// Apply different presets
await TrackPlayer.setEqualizerPreset("rock")
await TrackPlayer.setEqualizerPreset("jazz")
await TrackPlayer.setEqualizerPreset("flat") // Reset to flat response