1e22d5e4fS猫头猫import Config from '@/core/config'; 2846ca2ccS猫头猫import musicIsPaused from '@/utils/musicIsPaused'; 38c55a6aaS猫头猫import TrackPlayer, {Event, State} from 'react-native-track-player'; 4242960d3S猫头猫import MusicQueue from '../core/musicQueue'; 5bf6e62f2S猫头猫 6*51c513c9S猫头猫let resumeState: State | null; 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猫头猫 ); 134060c00aS猫头猫 TrackPlayer.addEventListener(Event.RemoteNext, () => 144060c00aS猫头猫 MusicQueue.skipToNext(), 154060c00aS猫头猫 ); 16846ca2ccS猫头猫 TrackPlayer.addEventListener( 17846ca2ccS猫头猫 Event.RemoteDuck, 18e2257bd6S猫头猫 async ({paused, permanent}) => { 19e22d5e4fS猫头猫 if (Config.get('setting.basic.notInterrupt')) { 20caaa811bS猫头猫 return; 21caaa811bS猫头猫 } 22e2257bd6S猫头猫 if (permanent) { 23eb04a812S猫头猫 return MusicQueue.pause(); 24eb04a812S猫头猫 } 25266badb7S猫头猫 const tempRemoteDuckConf = Config.get( 26266badb7S猫头猫 'setting.basic.tempRemoteDuck', 27266badb7S猫头猫 ); 28266badb7S猫头猫 if (tempRemoteDuckConf === '降低音量') { 29266badb7S猫头猫 if (paused) { 30266badb7S猫头猫 return TrackPlayer.setVolume(0.5); 31266badb7S猫头猫 } else { 32266badb7S猫头猫 return TrackPlayer.setVolume(1); 33266badb7S猫头猫 } 34266badb7S猫头猫 } else { 35eb04a812S猫头猫 if (paused) { 36846ca2ccS猫头猫 resumeState = await TrackPlayer.getState(); 37eb04a812S猫头猫 return MusicQueue.pause(); 38*51c513c9S猫头猫 } else { 39*51c513c9S猫头猫 if (resumeState && !musicIsPaused(resumeState)) { 40*51c513c9S猫头猫 resumeState = null; 41eb04a812S猫头猫 return MusicQueue.play(); 42eb04a812S猫头猫 } 43*51c513c9S猫头猫 resumeState = null; 44*51c513c9S猫头猫 } 45266badb7S猫头猫 } 46846ca2ccS猫头猫 }, 47846ca2ccS猫头猫 ); 48846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.PlaybackProgressUpdated, evt => { 49bb9b2f7bS猫头猫 Config.set('status.music.progress', evt.position, false); 50846ca2ccS猫头猫 }); 51bf6e62f2S猫头猫}; 52