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猫头猫 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猫头猫 ); 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(); 38846ca2ccS猫头猫 } else if (!musicIsPaused(resumeState)) { 39eb04a812S猫头猫 return MusicQueue.play(); 40eb04a812S猫头猫 } 41266badb7S猫头猫 } 42846ca2ccS猫头猫 }, 43846ca2ccS猫头猫 ); 44846ca2ccS猫头猫 TrackPlayer.addEventListener(Event.PlaybackProgressUpdated, evt => { 45*bb9b2f7bS猫头猫 Config.set('status.music.progress', evt.position, false); 46846ca2ccS猫头猫 }); 47bf6e62f2S猫头猫}; 48