import TrackPlayer, { Event } from 'react-native-track-player'; import { player } from './controller'; /** * Фоновый сервис: кнопки уведомления, экрана блокировки и гарнитуры. Работает и без UI — * команды уходят прямо в ExoPlayer, а учёт прослушиваний ведёт тот же контроллер. */ export async function PlaybackService(): Promise { TrackPlayer.addEventListener(Event.RemotePlay, () => void TrackPlayer.play()); TrackPlayer.addEventListener(Event.RemotePause, () => void TrackPlayer.pause()); TrackPlayer.addEventListener(Event.RemoteStop, () => void TrackPlayer.stop()); TrackPlayer.addEventListener(Event.RemoteNext, () => player.next()); TrackPlayer.addEventListener(Event.RemotePrevious, () => void player.prev()); TrackPlayer.addEventListener(Event.RemoteSeek, ({ position }) => player.seek(position * 1000)); // Звонок / голосовой ассистент: приостанавливаем и продолжаем сами (autoHandleInterruptions — для фокуса). TrackPlayer.addEventListener(Event.RemoteDuck, ({ paused, permanent }) => { if (permanent) void TrackPlayer.pause(); else if (paused) void TrackPlayer.pause(); }); }