Simple Android application to download and listen media to files of YouTube videos.
I also use this application to integrate new things I am learning in Android Development. :)
Features:
- Find videos by search or user's playlists
- Media player
- Equalizer
- App's playlists
- Automatict downloading media files from user's YouTube playlists
- Changing media items positions
- Sharing URLs and downloaded media files
The application consists of two main parts:
This fragment is responsible for browsing downloaded media items and playing them. The fragment works along with MediaBrowserService so the app can also work with smartwatches and cars.
You can create app's playlists and add media items to them.
You are also able to change media item possition in a visible playlist. (When new media item is downloaded, it is added at the latest position)
The app also contains simple Equalizer.
The fragment is responsible for downloading music from YouTube. The app just fetches audio track from the video.
Downloading musics from YouTube is not stable, because Youtube often changes web structure of its pages.
The application uses Firebase that requires google-services.json. The project has a custom task that decrypts that file which is located in the project root
and is named google-services.json.encrypt. Before bulding the project, you must setup environment variable ANDROID_ENCRYPTION_KEY
pointing the key used during
encryption. The decryption task is added to the build graph dependencies and is called before preBuild.
WARNING: Youtube API does not support a video download. In fact, it is prohibited - Terms of Service - II. Prohibitions.
WARNING: Downloading videos may violate copyrights!
This application is only for educational purposes. I urge not to use this project to violate any laws.