🎵 Meloplay
Meloplay is a local music player app that plays music from your device built with Flutter.
📱 Platforms
✨ Features
- 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)
📸 Screenshots
Player 1 |
Player 2 |
Artists |
|
|
|
About |
Settings |
Settings orange |
|
|
|
📚 Dependencies
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. |
📦 Installation
Prerequisites
- Flutter
- Android Studio / Xcode
Setup
- Clone the repo
- Install dependencies
- Run the app
❗ Permissions
Android
<!-- 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" />
iOS
<!-- 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>
🤝 Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
📝 License
Distributed under the MIT License. See LICENSE for more information.
📧 Contact
🌟 Show your support
Give a ⭐️ if you like this project!
GitHub
View Github