1eb04a812S猫头猫import {setConfig} from '@/common/localConfigManager'; 2*846ca2ccS猫头猫import musicIsPaused from '@/utils/musicIsPaused'; 3*846ca2ccS猫头猫import TrackPlayer, {Event, State} from 'react-native-track-player'; 4bf6e62f2S猫头猫import MusicQueue from '../common/musicQueue'; 5bf6e62f2S猫头猫 6*846ca2ccS猫头猫let resumeState: State; 7bf6e62f2S猫头猫module.exports = async function () { 8bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemotePlay, () => MusicQueue.play()); 9bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemotePause, () => MusicQueue.pause()); 10*846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.RemotePrevious, () => 11*846ca2ccS猫头猫 MusicQueue.skipToPrevious(), 12*846ca2ccS猫头猫 ); 13bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemoteNext, () => MusicQueue.skipToNext()); 14*846ca2ccS猫头猫 TrackPlayer.addEventListener( 15*846ca2ccS猫头猫 Event.RemoteDuck, 16*846ca2ccS猫头猫 async ({paused, parmanent}) => { 17eb04a812S猫头猫 if (parmanent) { 18eb04a812S猫头猫 return MusicQueue.pause(); 19eb04a812S猫头猫 } 20eb04a812S猫头猫 if (paused) { 21*846ca2ccS猫头猫 resumeState = await TrackPlayer.getState(); 22eb04a812S猫头猫 return MusicQueue.pause(); 23*846ca2ccS猫头猫 } else if (!musicIsPaused(resumeState)) { 24eb04a812S猫头猫 return MusicQueue.play(); 25eb04a812S猫头猫 } 26*846ca2ccS猫头猫 }, 27*846ca2ccS猫头猫 ); 28*846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.PlaybackProgressUpdated, evt => { 29eb04a812S猫头猫 setConfig('status.music.progress', evt.position); 30*846ca2ccS猫头猫 }); 31bf6e62f2S猫头猫}; 32