Skip to content

Linnnnnn42/TagMusicPlayer

Repository files navigation

Tag Music Player

A music player application based on tags built with React Native and Expo.

Read this in other languages: English, 中文.

Features

Music Playback

  • Audio playback with play, pause, skip, and seek controls
  • Background audio playback support

Library Management

  • Automatic music library scanning and organization
  • Search and filter capabilities by title, artist, or lyrics
  • Tag-based music categorization

User Interface

  • Dynamic color themes based on artwork / cover
  • Bottom sheet player interface
  • Floating player

Localization

  • Multi-language support (English and Chinese)

TO-DO

Features / Refactor

  • Reduce Flickering
  • Encapsulate and use cpp language taglib library to improve reading efficiency
  • Splash screen, more detailed loading prompts
  • Keyboard handling
    • Move search button position to make it visible when search bar appears
  • Replace search filter checkbox with SegmentedButtons
  • Better pure music judgment
  • Vibration feedback when switching between songs
  • Fade between songs
  • Complete accessibility support

Known bugs

  • Cannot read files with illegal characters such as ? # / [] {} space

Building APK

To build an APK for Android, follow these steps:

  1. Configure your Android development environment by following: Expo Android setup guide, Set up your environment

  2. Ensure you have all dependencies installed:

   cd ./music-app
   npm install
  1. Generate your key by following: React Native: Signed apk android

  2. Prebuild:

cd ./music-app
npx expo prebuild --platform android
  1. Configure icon / splash screen assets (See react-native-bootsplash: setup for details) :
cd ./music-app
npx react-native-bootsplash generate svgs/light-logo.svg ` 
--platforms=android,ios,web` 
--background=F5FCFF` --logo-width=100` 
--assets-output=assets/bootsplash ` 
--flavor=main` 
--html=public/index.html
  1. Build the APK:
cd ./music-app/android
./gradlew assembleRelease
  1. Get the output apk: app-release.apk
cd ./music-app/android/app/build/outputs/apk/release/
explorer .

Acknowledgements

This project makes use of excellent open-source libraries and tools:

License

This project is licensed under the MIT License