14060c00aS猫头猫import React from 'react'; 24c222b69S猫头猫import {InteractionManager, StyleSheet, View} from 'react-native'; 3bf6e62f2S猫头猫import rpx from '@/utils/rpx'; 4bf6e62f2S猫头猫import repeatModeConst from '@/constants/repeatModeConst'; 5c15039e2S猫头猫 6c446f2b8S猫头猫import useOrientation from '@/hooks/useOrientation'; 7c15039e2S猫头猫import {showPanel} from '@/components/panels/usePanel'; 85500cea7S猫头猫import TrackPlayer from '@/core/trackPlayer'; 95500cea7S猫头猫import {musicIsPaused} from '@/utils/trackUtils'; 105589cdf3S猫头猫import Icon from '@/components/base/icon.tsx'; 114c222b69S猫头猫import sleep from '@/utils/sleep.ts'; 12bf6e62f2S猫头猫 134060c00aS猫头猫export default function () { 145500cea7S猫头猫 const repeatMode = TrackPlayer.useRepeatMode(); 155500cea7S猫头猫 const musicState = TrackPlayer.useMusicState(); 16c15039e2S猫头猫 17c446f2b8S猫头猫 const orientation = useOrientation(); 18bf6e62f2S猫头猫 19bf6e62f2S猫头猫 return ( 20bf6e62f2S猫头猫 <> 21c446f2b8S猫头猫 <View 22c446f2b8S猫头猫 style={[ 23c446f2b8S猫头猫 style.wrapper, 24*ab5f994aSmaotoumao orientation === 'horizontal' 25c446f2b8S猫头猫 ? { 26c446f2b8S猫头猫 marginTop: 0, 27c446f2b8S猫头猫 } 28c446f2b8S猫头猫 : null, 29c446f2b8S猫头猫 ]}> 30bf6e62f2S猫头猫 <Icon 31bf6e62f2S猫头猫 color={'white'} 32bf6e62f2S猫头猫 name={repeatModeConst[repeatMode].icon} 33bf6e62f2S猫头猫 size={rpx(56)} 344c222b69S猫头猫 onPress={async () => { 354c222b69S猫头猫 InteractionManager.runAfterInteractions(async () => { 364c222b69S猫头猫 await sleep(20); 375500cea7S猫头猫 TrackPlayer.toggleRepeatMode(); 384c222b69S猫头猫 }); 394060c00aS猫头猫 }} 404060c00aS猫头猫 /> 41bf6e62f2S猫头猫 <Icon 42bf6e62f2S猫头猫 color={'white'} 435589cdf3S猫头猫 name={'skip-left'} 44bf6e62f2S猫头猫 size={rpx(56)} 45bf6e62f2S猫头猫 onPress={() => { 465500cea7S猫头猫 TrackPlayer.skipToPrevious(); 474060c00aS猫头猫 }} 484060c00aS猫头猫 /> 49bf6e62f2S猫头猫 <Icon 50bf6e62f2S猫头猫 color={'white'} 51cdc69842S猫头猫 name={musicIsPaused(musicState) ? 'play' : 'pause'} 52bf6e62f2S猫头猫 size={rpx(96)} 53bf6e62f2S猫头猫 onPress={() => { 54bf6e62f2S猫头猫 if (musicIsPaused(musicState)) { 555500cea7S猫头猫 TrackPlayer.play(); 56bf6e62f2S猫头猫 } else { 575500cea7S猫头猫 TrackPlayer.pause(); 58bf6e62f2S猫头猫 } 594060c00aS猫头猫 }} 604060c00aS猫头猫 /> 61bf6e62f2S猫头猫 <Icon 62bf6e62f2S猫头猫 color={'white'} 635589cdf3S猫头猫 name={'skip-right'} 64bf6e62f2S猫头猫 size={rpx(56)} 65bf6e62f2S猫头猫 onPress={() => { 665500cea7S猫头猫 TrackPlayer.skipToNext(); 674060c00aS猫头猫 }} 684060c00aS猫头猫 /> 69bf6e62f2S猫头猫 <Icon 70bf6e62f2S猫头猫 color={'white'} 715589cdf3S猫头猫 name={'playlist'} 72bf6e62f2S猫头猫 size={rpx(56)} 73bf6e62f2S猫头猫 onPress={() => { 74bf6e62f2S猫头猫 showPanel('PlayList'); 754060c00aS猫头猫 }} 764060c00aS猫头猫 /> 77bf6e62f2S猫头猫 </View> 78bf6e62f2S猫头猫 </> 79bf6e62f2S猫头猫 ); 80bf6e62f2S猫头猫} 81bf6e62f2S猫头猫 82bf6e62f2S猫头猫const style = StyleSheet.create({ 83bf6e62f2S猫头猫 wrapper: { 844245d81aS猫头猫 width: '100%', 85bf6e62f2S猫头猫 marginTop: rpx(36), 86bf6e62f2S猫头猫 height: rpx(100), 87bf6e62f2S猫头猫 flexDirection: 'row', 88bf6e62f2S猫头猫 justifyContent: 'space-around', 89bf6e62f2S猫头猫 alignItems: 'center', 90bf6e62f2S猫头猫 }, 91bf6e62f2S猫头猫}); 92