This repository has been archived by the owner on Jan 25, 2025. It is now read-only.
forked from m-inan/react-native-music-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathservice.js
37 lines (27 loc) · 1.36 KB
/
service.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import TrackPlayer from 'react-native-track-player';
module.exports = async function () {
TrackPlayer.addEventListener(Event.RemotePlay, () => TrackPlayer.play());
TrackPlayer.addEventListener(Event.RemotePause, () => TrackPlayer.pause());
TrackPlayer.addEventListener(Event.RemoteStop, () => TrackPlayer.destroy());
TrackPlayer.addEventListener(Event.RemoteSeek, ({ position }) => TrackPlayer.seekTo(position));
TrackPlayer.addEventListener(Event.RemotePrevious, () => TrackPlayer.skipToPrevious());
TrackPlayer.addEventListener(Event.RemoteNext, () => TrackPlayer.skipToNext());
TrackPlayer.addEventListener(Event.RemoteJumpBackward, async (param) => {
const position = await TrackPlayer.getProgress().then((progress) => progress.position);
const duration = await TrackPlayer.getProgress().then((progress) => progress.duration);
if (position <= 5) {
TrackPlayer.seekTo(0);
} else {
TrackPlayer.seekTo(position - 5);
}
});
TrackPlayer.addEventListener(Event.RemoteJumpForward, async (param) => {
const position = await TrackPlayer.getProgress().then((progress) => progress.position);
const duration = await TrackPlayer.getProgress().then((progress) => progress.duration);
if (position >= (duration - 15)) {
TrackPlayer.seekTo(duration);
} else {
TrackPlayer.seekTo(position + 15);
}
});
};