Skip to content

Complete music player published in the Play Store. Heavily relies on Dagger, kotlin coroutines and Clean architecture.

Notifications You must be signed in to change notification settings

rummanz/canaree-music-player

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canaree (Music Player)

platform-badge minsdk-badge paypal-badge googleplay-badge

Complete music player published in the Play Store. Heavily relies on Dagger, RxJava kotlin coroutines and Clean architecture.

Screenshots

Build

Compilation can be done in 2 ways. Using the first method will prevent you from supporting FFMPEG, FLAC and OPUS formats.

Method 1 (Fast)

In build.gradle service-music module.

  • Uncomment
implementation 'com.google.android.exoplayer:exoplayer-core:$latest_exoplayer_version
  • Comment
implementation project(':exoplayer-library-core')
implementation project(':exoplayer-extension-flac')
implementation project(':exoplayer-extension-opus')
implementation project(':exoplayer-extension-ffmpeg')

Method 2

  • Clone ExoPlayer
  • In settings.gradle:
    • Update gradle.ext.exoplayerRoot to match your ExoPlayer repo path
    • Change
      apply from: new File(gradle.ext.exoplayerRoot, 'core_settings_min.gradle')
      with
      apply from: new File(gradle.ext.exoplayerRoot, 'core_settings.gradle')

After both

  • Create gradle.properties in project root folder.
# OPTIONAL properties
org.gradle.jvmargs=-Xmx4096m
org.gradle.parallel=true
org.gradle.daemon=true

android.useAndroidX=true
android.enableJetifier=true
android.enableSeparateAnnotationProcessing=true

# incremental
kotlin.incremental=true
kapt.incremental.apt=true
# parallel
kapt.use.worker.api=true
# compilation avoidance
kapt.include.compile.classpath=false

# proguard
android.enableR8=true
android.enableR8.fullMode=true

# MANDATORY properties (keys)
last_fm_key="your_key"
last_fm_secret="your_secret"

aes_password="your_aes_password"

ad_mob_key="your_ad_mob_key"
# test ad unit id
ad_mob_unity_id_bottom_navigation="ca-app-pub-3940256099942544/6300978111"

Extensions (Linux or macOS recommended)

To support FLAC, FFMPEG and OPUS formats to you need to compile manually the corresponding ExoPlayer extensions using NDK-r17c or older, newer version of NDK are not supported.

Translations

Help translate the app to your language here

Issues

If you find any problems, please feel free to file an issue.

Open-source libraries

Download

About

Complete music player published in the Play Store. Heavily relies on Dagger, kotlin coroutines and Clean architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 82.2%
  • Java 17.8%