Meloplay is a local music player app that plays music from your device built with Flutter.
- Android
- iOS (not tested)
- Play music from your device
- Background audio
- Notification controls
- Lock screen controls
- Play, pause, skip, previous, seek
- Shuffle and repeat
- Search for music, artists, albums, genres
- Sort by (title, artist, album, duration, date, size, etc)
- Order by (ascending, descending)
- Playlists (Read, create, rename, delete, add songs, remove songs)
- Queue (List, add songs, remove songs, change order)
- Favorites (Add songs, remove songs)
- Recently played
- Most played
- Artists
- Albums
- Genres
- Lyrics
- Equalizer
- Sleep timer
- Share music
- Settings
- Themes (multiple themes)
- Localization
Splash | Songs | Player |
---|---|---|
Playlists | Artists | Albums |
---|---|---|
Genres | Drawer | Themes |
---|---|---|
Artist | Album | Genre |
---|---|---|
Search | Settings | Scan |
---|---|---|
Name | Version | Description |
---|---|---|
bloc | 8.1.4 | A predictable state management library |
flutter_bloc | 8.1.6 | Flutter Widgets that make it easy to implement BLoC design patterns |
flutter_staggered_animations | 1.1.1 | A plugin for adding staggered animations to your Flutter apps |
fluttertoast | 8.2.8 | Flutter plugin for displaying toast messages. |
flutter_cache_manager | 3.4.1 | A Flutter plugin for caching images and other resources. |
flutter_svg | 2.0.13 | Flutter plugin for displaying SVG images. |
get_it | 8.0.2 | Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App |
hive | 2.2.3 | A lightweight and blazing fast key-value database |
hive_flutter | 1.1.0 | Hive database implementation for Flutter |
just_audio | 0.9.42 | A feature-rich audio player for Flutter |
just_audio_background | 0.0.1-beta.13 | A plugin for playing audio in the background on Android and iOS. |
lottie | 3.1.3 | Lottie is a mobile library for Android and iOS that parses Lottie and JSON-based animations and renders them natively on mobile. |
marquee | 2.3.0 | A Flutter widget that scrolls text infinitely. |
on_audio_query | 2.9.0 | A Flutter plugin to query songs on Android and iOS |
package_info_plus | 8.1.0 | Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android. |
permission_handler | 11.3.1 | A Flutter plugin for permission handling. This plugin provides a cross-platform (iOS, Android) API to request and check permissions. |
rxdart | 0.28.0 | RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams API. |
share_plus | 10.1.1 | Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS. |
url_launcher | 6.3.1 | A Flutter plugin for launching a URL in the mobile platform. |
- Flutter
- Android Studio / Xcode
-
Clone the repo
git clone
-
Install dependencies
dart pub get
-
Run the app
flutter run
<!-- url_launcher -->
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
</queries>
<!-- !DANGER! Delete, update songs/playlists -->
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<!-- Android 12 or below -->
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"
/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- Android 13 or greater -->
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<!-- Audio service -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- url_launcher -->
<key>LSApplicationQueriesSchemes</key>
<array>
<string>https</string>
</array>
<key>NSAppleMusicUsageDescription</key>
<string>$(PROJECT_NAME) requires access to media library</string>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Distributed under the Attribution-NonCommercial-ShareAlike 4.0 International License. See LICENSE for more information.
Give a ⭐️ if you like this project!