Meloplay is a local music player app that plays music from your device built with Flutter.
- Android
- iOS
- Play music from your device
- Background audio
- Notification controls
- Lock screen controls
- Play, pause, skip, previous, seek
- Shuffle and repeat
- Search for music
- Playlists (Read, create, rename, delete, add songs, remove songs)
- Favorites (Add songs, remove songs)
- Recently played
- Most played
- Artists
- Albums
- Genres
- Lyrics
- Equalizer
- Sleep timer
- Share music
- Settings
- Themes (multiple themes)
| Splash | Songs | Song sheet |
|---|---|---|
| Player 1 | Player 2 | Artists |
|---|---|---|
| Albums | Genres | Artist |
|---|---|---|
| Album | Genre | Drawer |
|---|---|---|
| About | Settings | Settings orange |
|---|---|---|
| Songs orange |
|---|
| Name | Version | Description |
|---|---|---|
| audio_service | 0.18.10 | A Flutter plugin to play audio in the background, with notification support and play/pause/stop/seek controls. |
| bloc | 8.1.2 | A predictable state management library |
| flutter_bloc | 8.1.3 | Flutter Widgets that make it easy to implement BLoC design patterns |
| hive | 2.2.3 | A lightweight and blazing fast key-value database |
| hive_flutter | 1.1.0 | Hive database implementation for Flutter |
| flutter_launcher_icons | 0.13.1 | A package that provides icons for Flutter apps |
| just_audio | 0.9.34 | A feature-rich audio player for Flutter |
| on_audio_query | 2.9.0 | A Flutter plugin to query songs on Android and iOS |
| package_info_plus | 4.1.0 | Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android. |
| permission_handler | 10.4.3 | A Flutter plugin for permission handling. This plugin provides a cross-platform (iOS, Android) API to request and check permissions. |
| rxdart | 0.27.7 | RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams API. |
| share_plus | 7.1.0 | Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS. |
| url_launcher | 6.1.12 | 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>
<!-- Android 13+ notification -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<!-- !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 MIT License. See LICENSE for more information.
Give a βοΈ if you like this project!