GithubHelp home page GithubHelp logo

farbodbj / yourmusic Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 927 KB

Simple music player app using media3 library, clean architecture and best best practices

Kotlin 100.00%
android android-application clean-achitecutre exoplayer kotlin kotlin-android media3 mvvm

yourmusic's Introduction

Your Music

Description

This is a simple music player app which lets you browse and play sound tracks saved on your android device, it provides features like playing music in background, controlling music through notification etc. This project along with GuardianNews were the two projects I have completed as an exercise in the process of my android bootcamp.

Stack

Tools Link
๐Ÿค– Kotlin Kotlin
๐ŸŽถ Media3 Loading & Playing Music
๐Ÿ—๏ธ Hilt DI
๐Ÿ–ผ๏ธ Glide Loading Pictures

Design Process

The new Jetpack media3 was the core library used in this project. MediaStore was used for providing an real-time access (using Flow api & kotlin coroutines) method to the music files from device storage, MediaSessionService for managing audio playback along with media3 in-built exoplayer and media session. It was tried to keep the design scalable and robust while avoiding unnecessary complications.

Visuals

music list single music permission
notification

Contributing

Feel free to contribute to this project by pointing out any bugs, design flaws, updating for best practices or etc using issues or pull requests. I hope this app can be used as a reference for other learners or even be used to actually listen to some quality music :)

yourmusic's People

Contributors

farbodbj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

yourmusic's Issues

Permission issue

checkPermission function is not working for TIRAMISU due to wrong setting.

  • if (VERSION.SDK_INT > TIRAMISU) (X)

  • if (VERSION.SDK_INT >= TIRAMISU) (O)

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.