Git Product home page Git Product logo

martinmimigames / little-music-player Goto Github PK

View Code? Open in Web Editor NEW
66.0 3.0 25.0 3.1 MB

Android 1.0+ mini notification based audio player

Home Page: https://martinmimigames.github.io/projects/little-music-player

License: GNU General Public License v3.0

Java 100.00%
android audio compatibility f-droid gplv3 music music-player player privacy-aware privacy-preserving small-projects android-music-player fdroid martinmimigames

little-music-player's Introduction

Little Music Player

Icon

Read License

Code Quality

Descriptions

A mini, simple, yet compatible notification-based audio player.

Open-sourced and publicly-viewable code for anyone worrying about being locked in or privacy invasion.

Supports Android 1.0+

It allows you to play audio and video files, like how you expected to. Most importantly it is designed in hope to make it compatible with different Android versions.

Its usage is as easy as opening or sharing the file you want to play with the app, or selecting it directly from the app. Enjoy your music!

Currently partially support m3u/m3u8 playlist files. More information below in section Playlist Support.

Note that this project was originally known as Simple Music Player.

Location of webpage: https://martinmimigames.github.io/projects/little-music-player

You can find most information about Little Music Player just below.

screenshot

example screenshot

Notices

The app will not be able to function properly without notification permissions being granted. For Android 13+, due to new notification restrictions, the app will request for the notification permission if the permission is not granted.

Different variations

  • Tiny Music Player

    Smallest, most minimal, with the trade-off of only having the most basic features.

Playlist support

  • Folder-based playlist on Android 5.0+
  • Temporary playlist via multi-share function
  • Partial m3u/m3u8 support

m3u/m3u8 features supported:

  • Audio stream url (http/https)
  • Absolute audio path (e.g. /storage/emulated/0/Music/Example.mp3)
  • Nested m3u/m3u8 files (Absolute path only)
  • Custom audio name via #EXTINF: [duration], [custom name]. does not support duration

Features

  • It's free

    Everyone should have the right to listen to music, therefore we aim to make it accessible.

  • No advertisement

    We simply want a distraction-free experience for you, so you can relax and enjoy!

  • Compact

    Less than half a MB in size, one of the tiniest audio player apps on Android! No need to worry about bloated apps again. (Currently less than 30 KB)

  • Unbelievably compatible

    Strangely addicted to support, we believe that nobody should be excluded due to an older device. Therefore we have theoretical support starting all the way back from Android 1.0, and tested support on Android 2.3 and above. Isn't it amazing?

  • Clean & Simple

    No awkward layout, no hidden options and straightforward, so you can focus on the content. Enjoyment is key, right?

  • It simply works :)

    Even in the modern world, there is always something seeming to fail. Luckily for you, this app was designed to work just like it is supposed to. It supports all audio types that your device supports.

  • Minimal permissions required

    Have you ever met an app asking for a bunch of unrelated permissions? Have you ever had some strange requests reminding you of a malware? Not this app! We will explain how we use all our permissions, so you know it's safe to use.

  • No hidden third-parties

    It is completely open-source, and uses as little third-party libraries as possible.

If you worry about size, compatibility or privacy, this is the best app for you!

We use the foreground service permission to provide audio playing while using other apps.

We use the notification permission for displaying playback control, as we are mainly a notification based music player.

We use the internet permission to allow for audio streaming, however such function is still being developed, and can be buggy.

We use the read storage/audio/video permission to open the audio files. Required for older devices, and m3u/m3u8 processing.

(Beta function)

Share a url containing a media file to Little Music Player to stream it.

Or use a m3u file with the stream url inside.

Development

If you want to contribute by making code changes, you are welcomed!

For starters, check how to download/run the source code

Branches

  • main: latest source-code

Issues

Issues and pull requests are always welcome!

Since we do not have telemetry in the app, we rely on you to report issues and give feedback.

You can submit issues the following ways:

Latest Versions

  • v2.13

    • Now support folder-based playlist for Android 5.0+
    • Now support temporary playlist via multi-share
  • v2.12

    • Fixed permission missing on newer android
    • Now runs on Android 14 (emulator)
    • Added permission blocks at the bottom of activity
  • v2.11

    • New loop function for non-streaming audio
    • Playlist support (via m3u) (does not work with relative path yet) (may require storage permissions)
    • Skip button for playlist
  • v2.10

    • Support internet streaming (new internet permission)
    • Added required permissions for notifications (Android 13+)
    • Better error reporting
    • Fixed audio player null when destroying
    • Fix spelling mistake
    • Updated notifications
    • Added required permissions for audio file opening (older androids)
  • v2.9

    • reverted icon
    • fixed incorrect instructions
  • v2.8

    • updated description
    • fixed notifications making alert sound (at least on emulators)
    • fixed notifications not working on android 13 (sdk 33)
    • new icons

Installation

Get it on F-Droid

Get it on Github

Get it from the official website

Made by Martinmimigames

Official Website at https://martinmimigames.github.io

Last update of README

Date : 20-07-2023 dd-mm-yyyy

Important

Please read the license!

little-music-player's People

Contributors

noasenesi avatar pizzamnchr avatar wmartinmimi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

little-music-player's Issues

Headfone control

Hi, thanks for this wonderful little player.

I have 2 requests to make here,

  1. allow play/pause using headfone/bluetooth devices. When I tried to pause using bluetooth button, other app started playing simultaneously.
  2. when used from file browser, ithink there is no need to open app page, only notification view shall give better workflow, so that user can change songs from browser without changing apps.
  • regards,
    sharad

Select Folder to Play

Allow selecting a folder/directory, and play all files. Shuffle mode, if possible.

Loop key=value setting?

Using an app called "Shortcut Maker," I was able to make a one-click icon to start LMP with a sleep track I use at bedtime. My only issue is that I can't set it to loop by default - I still have to set that manually in the notification every time.

The Shortcut Maker app allows me to do things like add a key=value pair, so I thought I could use this to set LMP to loop, but I don't seem to have any success stumbling upon the correct thing to set. Is this possible, and if so then could you please tell me how? Thank you so much for your time, any help you are willing to give, and the incredibly tightly-written app!

Basic player functions

Describe your idea
Having basic player functions like seek fwd, bwd.

Describe why you want the idea incorprated
its a basic need, 4/5 users would appreciate this over minimalism.

[Optional] Describe any implmentations you've considered
Newpipe's implementation here is the best ive seen
Screenshot_20230212-213818~01

on a side note : i wouldnt want this to be implemented in tiny mp.

Detect SDK 33 or higher to support Android 13 media player

The built in Media Player on the notification screen of Android 13 isn't activated when playing an audio file, and no notification shows either, so the audio file will play but can't be controlled.

I found Little Music Player notification doesn't show up on Android 13, possibly since it needs to be requested?

I haven't messed with Android coding in quite a long time, but I'll see if I can fork the project and build a version of the app which checks for SDK 33 or higher and uses the Android 13 media player.

Creating Issues

If you want to report bugs, request features, etc, you can do so in the following ways:

  • Create a Github Issue (there will be templates)
  • Send a lovely email ([email protected])

There is no specific format you need to follow, so write in the way you like best.
But if you don't know how to start, here is a suggestion to how you can write a bug report:

Describe the bug
A description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected Behaviour
A description of what you expected to happen.

[Optional] Screenshots
If applicable, add any screenshots that may help explain your problem.

[Optional] Versioning information

  • App Version [e.g. v1.10]
  • OS: [e.g. Android 1.0]

[Optional] Additional information
Add any other information about the problem that may be useful.

Icon Modification

The Pixelated Icon is very distracting and does not fit in with the other os elements well, is this a functional choice to keep size low or is it of aesthetic value?

Wall of Love

This "issue" serves as a guest book. You're welcome to write nice things about "little music player", share how it helped you out.

If you have a question/suggestion please open a separate issue.

Idea came from this tweet & GH issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.