🎵 Meloplay
Meloplay is a local music player app that plays music from your device built with Flutter.
📱 Platforms
- Android
- iOS
✨ 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
SplashSongsSong sheet
Player 1Player 2Artists
AlbumsGenresArtist
AlbumGenreDrawer
AboutSettingsSettings orange
Songs orange
📚 Dependencies
NameVersionDescriptionaudio_service0.18.10A Flutter plugin to play audio in the background, with notification support and play/pause/stop/seek controls.bloc8.1.2A predictable state management libraryflutter_bloc8.1.3Flutter Widgets that make it easy to implement BLoC design patternshive2.2.3A lightweight and blazing fast key-value databasehive_flutter1.1.0Hive database implementation for Flutterflutter_launcher_icons0.13.1A package that provides icons for Flutter appsjust_audio0.9.34A feature-rich audio player for Flutteron_audio_query2.9.0A Flutter plugin to query songs on Android and iOSpackage_info_plus4.1.0Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.permission_handler10.4.3A Flutter plugin for permission handling. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.rxdart0.27.7RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams API.share_plus7.1.0Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.url_launcher6.1.12A Flutter plugin for launching a URL in the mobile platform.
📦 Installation
Prerequisites
- Flutter
- Android Studio / Xcode
Setup
- Clone the repo
git clone
- Install dependencies
dart pub get
- Run the app
flutter run
❗ 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!