Skip to content

How to play a track and listen to events

  • Package installed and Expo dev build setup completed.
  • Native host app running (expo run:ios or expo run:android).
  1. Call setup before playback operations.
await audioPlayer.setup();
  1. Register listeners.
const progressHandle = onPlaybackProgress(({ position }) => {
console.log('position', position);
});
const stateHandle = onPlaybackStateChanged(({ state }) => {
console.log('state', state);
});
  1. Add a track to queue.
await audioPlayer.add({
tracks: [{ id: 'intro', url: 'https://example.com/intro.mp3' }],
startIndex: 0,
});
  1. Start playback.
await audioPlayer.play();
  1. Remove listeners during teardown.
await progressHandle.remove();
await stateHandle.remove();

Playback and event delivery are app-wired from runtime namespaces (audioPlayer, listener helpers), with explicit listener cleanup.