패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소ShokhrukhbekYuldoshev/Meloplay

Meloplay

Flutter로 구현한 세련된 로컬 음악 플레이어 (안드로이드용)

Meloplay 프로젝트 이미지
스타
79
포크
28
최근 푸시(UTC)
2026. 5. 25.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Meloplay

Meloplay is a local music player app that plays music from your device built with Flutter.

Platforms

  • Android only

Features

  • [x] Play music from your device
  • [x] Background audio
  • [x] Notification controls
  • [x] Lock screen controls
  • [x] Play, pause, skip, previous, seek
  • [x] Shuffle and repeat
  • [x] Search for music, artists, albums, genres
  • [x] Sort by (title, artist, album, duration, date, size, etc)
  • [x] Order by (ascending, descending)
  • [x] Playlists (Read, create, rename, delete, add songs, remove songs)
  • [x] Queue (List, add songs, remove songs, change order)
  • [x] Favorites (Add songs, remove songs)
  • [x] Recently played
  • [ ] Most played
  • [x] Artists
  • [x] Albums
  • [x] Genres
  • [ ] Lyrics
  • [ ] Equalizer
  • [x] Sleep timer
  • [x] Share music
  • [x] Settings
  • [x] Themes (multiple themes)
  • [ ] Localization

Screenshots

Songs Player Playlists
Songs Player Playlists
Artists Albums Genres
Artists Albums Genres
Settings Scan Themes
Settings Scan Themes

Dependencies

Name Description
auto_size_text Flutter widget that automatically resizes text to fit perfectly within its bounds.
bloc A predictable state management library.
flutter_bloc Flutter widgets that make it easy to implement BLoC design patterns.
flutter_cache_manager A Flutter plugin for caching images and other resources.
flutter_staggered_animations A plugin for adding staggered animations to your Flutter apps.
flutter_svg Flutter plugin for displaying SVG images.
fluttertoast Flutter plugin for displaying toast messages.
get_it Simple Service Locator for dependency injection.
hive A lightweight and blazing fast key-value database.
hive_flutter Hive database implementation for Flutter.
just_audio A feature-rich audio player for Flutter.
just_audio_background Plugin for playing audio in the background on Android and iOS.
lottie Library for rendering JSON-based Lottie animations natively.
marquee A Flutter widget that scrolls text infinitely.
on_audio_query A Flutter plugin to query songs on Android and iOS.
package_info_plus Plugin for querying information about the application package.
permission_handler Cross-platform permission handling plugin.
share_plus Plugin for sharing content via the platform share UI.
url_launcher Plugin for launching URLs on mobile platforms.
liquid_glass_renderer A Flutter plugin for rendering liquid glass effects.
device_info_plus Plugin for getting device information.

Installation

Prerequisites
  • Flutter
  • Android Studio / Xcode
Setup
  1. Clone the repo

    git clone
    
  2. Install dependencies

    dart pub get
    
  3. Run the app

    flutter run
    

Permissions

Inside AndroidManifest.xml we have the following permissions:

<!-- ADD xmlns:tools="http://schemas.android.com/tools" to the "manifest" element -->
<manifest xmlns:tools="http://schemas.android.com/tools" ...>
    <!-- url_launcher -->
    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="https" />
        </intent>
    </queries>

    <!-- Android 12 and below -->
    <uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="32" />

    <!-- Android 13+ -->
    <uses-permission
        android:name="android.permission.READ_MEDIA_AUDIO" />

    <!-- ADD THESE TWO PERMISSIONS -->
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <!-- ALSO ADD THIS PERMISSION IF TARGETING SDK 34 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>

    <application ...>

    ...

    <!-- EDIT THE android:name ATTRIBUTE IN YOUR EXISTING "ACTIVITY" ELEMENT -->
    <activity android:name="com.ryanheise.audioservice.AudioServiceActivity" ...>
      ...
    </activity>

    <!-- ADD THIS "SERVICE" element -->
    <service android:name="com.ryanheise.audioservice.AudioService"
        android:foregroundServiceType="mediaPlayback"
        android:exported="true" tools:ignore="Instantiatable">
      <intent-filter>
        <action android:name="android.media.browse.MediaBrowserService" />
      </intent-filter>
    </service>

    <!-- ADD THIS "RECEIVER" element -->
    <receiver android:name="com.ryanheise.audioservice.MediaButtonReceiver"
        android:exported="true" tools:ignore="Instantiatable">
      <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
      </intent-filter>
    </receiver>
  </application>
</manifest>

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 Attribution-NonCommercial-ShareAlike 4.0 International License. See LICENSE for more information.

Contact

  • [Email](mailto:shokh.xyz@gmail.com)
  • GitHub

Show your support

Give a star if you like this project!

Shokh GitHub avatar
GitHub 작성자

Shokh ↗

SWE

Tashkent, Uzbekistan
언어DartHTMLKotlin

분류

의존하는 Flutter 컴포넌트

사용 중인 의존성

의존성 목록 28 개

앱 카테고리

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗