Skip to content

Mohamed-Rafat-Safan/Small-Android-Media-Player-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Small-Android-Media-Player-App

  • This application uses Jetpack Compose and displays all audio files on the device, especially MP3 and WAV.
  • All audio files appear in a list, and each song includes an image of the song, the song name, the artist, and the song's duration.
  • When you click on a song, it opens to a second page called PlayerScreen. The song plays automatically, allowing you to control it.
  • At the same time, a service is used in the foreground, displaying a notification to the user about the song playing. Users can control the audio file through the notification.
  • Clicking on the notification opens the PlayerScreen page, displaying the audio file.

Features:

  • Splash Screen
  • Media List Screen
  • Player Screen

The skills are used in this application:

  • language: Kotlin
  • UI layouts using Jetpack Compose
  • Multi-screen navigation with Jetpack Compose Navigation.
  • DeepLink navigation in compose
  • Lottie animation with Compose
  • Clean Architecture {presentation - domain - data}
  • MVVM architecture
  • ViewModel
  • Flow
  • Dependency injection by (Dagger Hilt)
  • Coroutines for asynchronous
  • MediaSeasion3 (for audio playback)
  • MediaSessionService (fourground service)
  • Notification to show current audio

Architecture

The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture.


Images this application:

           

           

About

This application uses Jetpack Compose and displays all audio files on the device, especially MP3 and WAV and all audio files appear in a list, and each song includes an image of the song, the song name, the artist, and the song's duration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages