Skip to content

features/sleepTimer

clearSleepTimer()

ts
function clearSleepTimer(): boolean;

Clears the active sleep timer.

Returns

boolean

true if a timer was cleared, false if no timer was active


useSleepTimer()

ts
function useSleepTimer(params?): SleepTimerState | undefined;

Hook that returns the current sleep timer state and time left.

Note that time left is not updated when the app is in the background.

Parameters

ParameterTypeDescription
params?{ updateInterval?: number; inactive?: boolean; }Optional configuration object
params.updateInterval?numberms interval at which the time left is updated. Defaults to 1000 (1 second).
params.inactive?booleanWhether the app is in the background. If true, time left updates are paused.

Returns

SleepTimerState | undefined

The current sleep timer state with secondsLeft calculated


getSleepTimer()

ts
function getSleepTimer(): SleepTimer;

Gets the current sleep timer state.

Returns

SleepTimer


setSleepTimer()

ts
function setSleepTimer(seconds): void;

Sets a sleep timer to stop playback after the specified duration.

Parameters

ParameterTypeDescription
secondsnumberNumber of seconds until playback stops

Returns

void


onSleepTimerChanged

ts
const onSleepTimerChanged: NativeUpdatedValue<SleepTimer>;

Subscribes to sleep timer changes.

Param

Called when the sleep timer state changes

Returns

Cleanup function to unsubscribe


SleepTimer

ts
type SleepTimer = 
  | SleepTimerTime
  | SleepTimerEndOfTrack
  | null;

Sleep timer configuration:

  • SleepTimerTime: Stop playback after a specific time
  • SleepTimerEndOfTrack: Stop playback after current track finishes
  • null: No sleep timer active

useSleepTimerActive()

ts
function useSleepTimerActive(): boolean;

Hook that returns whether a sleep timer is currently active. This is a lightweight alternative to useSleepTimer when you only need to know if a timer is set.

Returns

boolean

true if any sleep timer is active, false otherwise


SleepTimerEndOfTrack

ts
type SleepTimerEndOfTrack = object;

End-of-track sleep timer that stops playback when current track finishes.

Properties

sleepWhenPlayedToEnd

ts
sleepWhenPlayedToEnd: boolean;

Whether to sleep when current track finishes playing


SleepTimerState

ts
type SleepTimerState = 
  | {
  time: number;
  secondsLeft: number;
}
  | {
  sleepWhenPlayedToEnd: boolean;
};

State returned by useSleepTimer hook.

  • Time-based timer includes secondsLeft countdown
  • End-of-track timer includes sleepWhenPlayedToEnd flag

SleepTimerTime

ts
type SleepTimerTime = object;

Time-based sleep timer that stops playback after a specific time.

Properties

time

ts
time: number;

Time when playback should stop (milliseconds since epoch)


setSleepTimerToEndOfTrack()

ts
function setSleepTimerToEndOfTrack(): void;

Sets a sleep timer to stop playback when the current track finishes playing.

Returns

void


SleepTimerChangedEvent

ts
type SleepTimerChangedEvent = SleepTimer;