Skip to content

Instantly share code, notes, and snippets.

@dcvz
Created August 30, 2021 13:35
Show Gist options
  • Save dcvz/de58ab94837c70c41a50d40475b54727 to your computer and use it in GitHub Desktop.
Save dcvz/de58ab94837c70c41a50d40475b54727 to your computer and use it in GitHub Desktop.
useTrackPlayerEvents Hook
useTrackPlayerEvents(
[
Event.PlaybackQueueEnded,
Event.PlaybackTrackChanged,
Event.RemotePlay,
Event.RemotePause,
],
async event => {
if (
event.type === Event.PlaybackTrackChanged &&
event.nextTrack !== undefined
) {
const track = await TrackPlayer.getTrack(event.nextTrack);
const {title, artist, artwork} = track || {};
setTrackTitle(title);
setTrackArtist(artist);
setTrackArtwork(artwork);
} else if (event.type === Event.RemotePause) {
TrackPlayer.pause();
} else if (event.type === Event.RemotePlay) {
TrackPlayer.play();
} else if (event.type === Event.PlaybackQueueEnded) {
console.log('Event.PlaybackQueueEnded fired.');
}
},
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment