-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathservice.js
More file actions
46 lines (40 loc) · 1.41 KB
/
service.js
File metadata and controls
46 lines (40 loc) · 1.41 KB
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
38
39
40
41
42
43
44
45
46
import TrackPlayer, { Event } from 'react-native-track-player';
module.exports = async function() {
// Event handler for remote play (notification, lock screen, etc.)
TrackPlayer.addEventListener(Event.RemotePlay, async () => {
try {
await TrackPlayer.play();
} catch (error) {
console.error('Error in RemotePlay handler:', error);
}
});
// Event handler for remote pause (notification, lock screen, etc.)
TrackPlayer.addEventListener(Event.RemotePause, async () => {
try {
await TrackPlayer.pause();
} catch (error) {
console.error('Error in RemotePause handler:', error);
}
});
// Event handler for remote stop (notification, lock screen, etc.)
TrackPlayer.addEventListener(Event.RemoteStop, async () => {
try {
await TrackPlayer.stop();
} catch (error) {
console.error('Error in RemoteStop handler:', error);
}
});
// Event handler for remote seek (scrubbing on lock screen)
TrackPlayer.addEventListener(Event.RemoteSeek, async (event) => {
try {
await TrackPlayer.seekTo(event.position);
} catch (error) {
console.error('Error in RemoteSeek handler:', error);
}
});
// Event handler for playback errors
TrackPlayer.addEventListener(Event.PlaybackError, (event) => {
console.error('TrackPlayer playback error:', event);
});
// Note: updateOptions is handled in PodcastContext to avoid duplication
};