/canaree-music-player

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

Primary LanguageKotlin

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.

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')
      with
      apply from: new File(gradle.ext.exoplayerRoot, 'core_settings.gradle')

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

Download