ologe / Canaree Music Player
Programming Languages
Labels
Projects that are alternatives of or similar to Canaree Music Player
Canaree: Music Player
Complete music player published in the Play Store. Heavily relies on Dagger, RxJava kotlin coroutines and Clean architecture.
All branches of this repo are in active development, so things can be broken
If you just want to check the last stable version, point to stable
branch
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')
Open setting.gradle
and comment the last three lines like below:
//gradle.ext.exoplayerRoot = '/Users/eugeniuolog/AndroidStudioProjects/ExoPlayer'
//gradle.ext.exoplayerModulePrefix = 'exoplayer-'
//apply from: new File(gradle.ext.exoplayerRoot, 'core_settings_min.gradle')
Method 2
- Clone ExoPlayer
- In
settings.gradle
:- Update
gradle.ext.exoplayerRoot
to match your the cloned ExoPlayer path - Change
apply from: new File(gradle.ext.exoplayerRoot, 'core_settings_min.gradle')
withapply from: new File(gradle.ext.exoplayerRoot, 'core_settings.gradle')
- Update
After both
- Add to
local.properties
last_fm_key="your_key"
last_fm_secret="your_secret"
aes_password="your_aes_password"
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
- ExoPlayer
- Dagger
- kotlinx.coroutines
- Scroll helper
- Color desaturation
- Content resolver SQL
- Glide
- Lottie
- Retrofit
- OkHttp
- Gson
- LastFm bindings
- java-aes-crypto
- Custom tabs
- Material dialogs
- fuzzywuzzy
- Leak canary
- Stetho