Flutter-Built Local Music Player App for Enjoying Device Music

🎵 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 sheetSplashSongsSong sheet

Player 1Player 2ArtistsPlayer 1Player 2Artists

AlbumsGenresArtistAlbumsGenresArtist

AlbumGenreDrawerAlbumGenreDrawer

AboutSettingsSettings orangeAboutSettingsSettings orange

Songs orangeSongs 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

  1. Clone the repo
git clone
  1. Install dependencies
dart pub get
  1. 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!

GitHub

View Github

Description of the image

Related Posts