1*e22d5e4fS猫头猫import Config from '@/core/config'; 2846ca2ccS猫头猫import musicIsPaused from '@/utils/musicIsPaused'; 3846ca2ccS猫头猫import TrackPlayer, {Event, State} from 'react-native-track-player'; 4242960d3S猫头猫import MusicQueue from '../core/musicQueue'; 5bf6e62f2S猫头猫 6846ca2ccS猫头猫let resumeState: State; 7bf6e62f2S猫头猫module.exports = async function () { 8bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemotePlay, () => MusicQueue.play()); 9bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemotePause, () => MusicQueue.pause()); 10846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.RemotePrevious, () => 11846ca2ccS猫头猫 MusicQueue.skipToPrevious(), 12846ca2ccS猫头猫 ); 13bf6e62f2S猫头猫 TrackPlayer.addEventListener(Event.RemoteNext, () => MusicQueue.skipToNext()); 14846ca2ccS猫头猫 TrackPlayer.addEventListener( 15846ca2ccS猫头猫 Event.RemoteDuck, 16846ca2ccS猫头猫 async ({paused, parmanent}) => { 17*e22d5e4fS猫头猫 if (Config.get('setting.basic.notInterrupt')) { 18caaa811bS猫头猫 return; 19caaa811bS猫头猫 } 20eb04a812S猫头猫 if (parmanent) { 21eb04a812S猫头猫 return MusicQueue.pause(); 22eb04a812S猫头猫 } 23eb04a812S猫头猫 if (paused) { 24846ca2ccS猫头猫 resumeState = await TrackPlayer.getState(); 25eb04a812S猫头猫 return MusicQueue.pause(); 26846ca2ccS猫头猫 } else if (!musicIsPaused(resumeState)) { 27eb04a812S猫头猫 return MusicQueue.play(); 28eb04a812S猫头猫 } 29846ca2ccS猫头猫 }, 30846ca2ccS猫头猫 ); 31846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.PlaybackProgressUpdated, evt => { 32*e22d5e4fS猫头猫 Config.set('status.music.progress', evt.position); 33846ca2ccS猫头猫 }); 34bf6e62f2S猫头猫}; 35