SocyMusic is an open-source Android music player written in Java with the aim of creating an easy-to-use app for exchanging and listening to top-quality music. Help us create it!

Last update: Apr 10, 2022

SocyMusic

GitHub issues GitHub forks GitHub stars GitHub license GitHub all releases

SocyMusic is an open-source Android music player written entirely in Java. It's objectives are to provide top-quality music to everyone for free without any ads. It will also offer a great way to exchange music from device to device all by staying completely offline.

  • We will never charge you anything. SocyMusic has been made by the community for the community.
  • We will never download any of your data. You don't need any login and we don't need any of your data to work. The app on it's own only searches for songs and plays them for you.
  • The app will always remain offline, this is one of our core concepts!

If you find it interesting you might wanna check out our Website where you will find a lot more information.

GitHub

https://github.com/Benji377/SocyMusic
Comments
  • 1. Adding the theme changing settings

    We actually only have one color right now. If you take a look at the themes.xml file or the colors.xml files, there is only one color which is something like red (code: #FF362E). Other colors we have are white and black. This means that if we set a variable there, we could actually set the color code programmatically and therefore change the appearance of the app. BUT before anyone does anything about it, I would like to talk about something. I will do it in a discussion and link it here once it's published. I don't think it's an issue and therefore doesn't belong here. The discussion: #96

    Reviewed by Benji377 at 2021-07-14 19:48
  • 2. Shuffle and queue buttons mess up the song playing

    Describe the bug Pressing the shuffle button and show queue button a few times seems to make the app show the wrong song playing.

    To Reproduce Steps to reproduce the behavior:

    1. Click on a song to play
    2. Press the shuffle button
    3. Press the queue button
    4. Repeat 2 and 3 until title shows wrong song

    Expected behavior Shuffling the queue should not affect the song playing, only the rest of the queue.

    Reviewed by squivix at 2021-07-15 05:33
  • 3. Playlists still need to be tested and updated

    Is your feature request related to a problem? Please describe. In almost every music player there is the ability to create playlists. I understand that's it not something we really need, but if you have a lot of songs it can be realkly hard to organize them without playlists.

    Describe the solution you'd like There are actually multiple ways to manage this. We could use online databases, but thats against our goal of keeping the app 100% offline. Another way could be to use .m3u files, but they are unreliable when songs get moved or deleted. The last, but deprecated option would be to use the Mediastore. I already started to use the .m3u files, but somehow Android denies the permission to write such files.

    Additional context Here are a couple links that might or might not be useful:

    Reviewed by Benji377 at 2021-08-12 15:10
  • 4. Scrolling PlayerFragment sheet vertically is awkward

    Describe the bug Due to the newly added viewpager in PlayerFragment, the bottom sheet that the whole fragment is on is not scrolling very well. If you start scrolling vertically where the ViewPager is, it doesn't register. ViewPagers and BottomSheets don't work well together, so it seems this is a common problem.

    To Reproduce Steps to reproduce the behavior:

    1. Open app
    2. Click on song to open PlayerFragment
    3. Try to duck down the bottomsheet that pops up by dragging from the center (where the album art and song title go)
    4. Notice scrolling doesn't work until you reach the bottom where the ViewPager ends
    Reviewed by squivix at 2021-07-22 19:28
  • 5. We should have a setting for media library path/paths

    Is your feature request related to a problem? Please describe. Yes. One of the biggest things that annoyed me with the app is that it shows me ALL mp3 and wav files on my device, most of which are not songs. I want it to stop showing me podcasts, voice recordings, ads and other media files I don't even know about from my device.

    Describe the solution you'd like I want there to be a setting that let's me configure where the app looks for songs. I added a blank button in my latest commit (pull request #79) but I'm conflicted on how this should work exactly. There are three ways to go about this that I can think of:

    1- Media folders: Let the user select which directories on their device the app should look for songs on. To implement this we'd probably need to use a directory picker or make one on our own. 2- Blacklist: Let the user select which directories not to include in the search, a so called blacklist. It'd probably work the same way as 1. 3- Root folder: Let the user select a single root directory to look for music on. All songs within it will be included, everything else won't be. Here we may not need to use a directory chooser. We could use an intent with ACTION_OPEN_DOCUMENT_TREE then parse its path somehow. I tried to get this to work without parsing its path and it's not possible. It returns a "tree path" which is not a real path you can directly get a File object from. We'd have to use a library to convert that into a real path somehow, and I'm not sure it's worth it...

    So I think option 1 is the best to go with. Option 3 is a little restrictive and option 2 might be cumbersome for a user with lots of non-music media files. I want to try to implement option 1 without a library (so we can have more control over how it looks and acts) but I want to hear from you first. What do you think?

    Reviewed by squivix at 2021-06-29 13:25
  • 6. Enabling the SD card in settings crashes SocyMusic

    My music all lives on the SD card. When I go to SocyMusic Settings and enable searching the SD card for music, the app hangs, then crashes.

    I have almost 6,000 songs. Everything is organized in directories: SD Music Artist 1 Album 1 Song 1 Song 2 Album 2

    I assume that's how everyone stores their music, but maybe not.

    Reviewed by Piscean at 2021-09-03 16:18
  • 7. RTD is just a template right now!

    RTD(Readthedocs) is a great way to provide information and support to others. It functions like a website and builds on its own on pull-request.

    RTD will be used to create tutorials on how to install the app, contribute to the project, add new designs and edit translations. It will also be used to inform people about frequently asked questiosn, features and issues. This is all going to be organized in sections to create a better overview for everyone.

    I had to merge the pull request containing the docs already or else the setup would not have worked, but if you click on the link right now you will notice that the stuff written there make no sense. Please be patient as I slowly write the website.

    Reviewed by Benji377 at 2021-08-05 08:43
  • 8. PlayerFragment not responsive

    I noticed that on my friend's phone the Song time numbers weren't displayed correctly. They were squeezed into a tiny space to make room for the seek bar. Right now the PlayerFragment is a Linearlayout, but maybe it would be better to have it in a ConstraintLayout for better responsiveness and supportiveness on more phones.

    Reviewed by Benji377 at 2021-06-09 16:10
  • 9. Reworks interface to make PlayerFragment host-able in multiple places.

    For now it's hosted in MainActivity and PlaylistActivity, both of which were made into subclass of the newly created abstract class PlayerFragmentHost. This should make it easier in the future to have the player anywhere we need it.

    Reviewed by squivix at 2021-08-25 13:21
  • 10. Strange incompatibility issue with the Popup

    After coding the popup window, adding a style to it, and testing it on the Android studio emulator everything was looking good. But then I decided to do one last test on my phone and it crashed the app.

    This is the error I get: ?attr/colorAccent' is not set.

    I think it might just be a color missing somewhere. Refer to this StackOverflow answer: https://stackoverflow.com/questions/35813050/error-no-resource-found-that-matches-the-given-name-attr-coloraccent-in-ecli

    Reviewed by Benji377 at 2021-06-11 21:03
  • 11. Notification not showing the right information

    Notification is finally successfully displayed when the app starts, but there are some enhancements that need to be made:

    • Only show Notification while the song is playing
    • Make Notification indestructible while the song is playing
    • Automatically stop showing the Notification when song stops or app is stopped
    • Show song name and maybe buttons on the Notification
    • Update Notification if another song gets played
    Reviewed by Benji377 at 2021-06-04 18:45
  • 12. Searching songs is buggy

    Describe the bug When you search for a song, it never displays a result and if the name of the song isn't 100% accurate, it doesn't even recognize it.

    To Reproduce Steps to reproduce the behavior:

    1. Go to the Search tab
    2. Input anything in the search tab
    3. Try to search for a song
    4. Clear the input
    5. Notice how the output field is always empty

    Expected behavior When you search for something, and it can't find it, it should tell you. But when the song name contains the string that is being searched, it should be displayed properly.

    Additional context The reason why this issue occurs is still unclear. The accuracy of a search term can be tweaked, but why no song is being displayed is unknown. It might be because of issues related to the adapter, or maybe the fragment on its own.

    Reviewed by Benji377 at 2022-01-06 19:00
Android app that uses Spotify API to recommend new music based on your listening history

Android app that uses Spotify API to recommend new music based on your listening history. Written in Kotlin and uses Spotify Web API and Android SDK. New music is presented in swipe cards where a left swipe plays the next song and a right swipe can add the app to your liked songs in Spotify.

Jun 5, 2022
Music Player - This is a basic music player built with Android Studio and Kotlin
 Music Player - This is a basic music player built with Android Studio and Kotlin

Music Player Made by Jenny Cárdenas This is a basic music player built with Android Studio and Kotlin, it shows two views in the UI, the user can play

Oct 28, 2021
Odeon Music Player is a lightweight music player for Android.
Odeon Music Player is a lightweight music player for Android.

Odeon ?? Odeon Music Player is a lightweight music player for Android. Get it on Google Play. We value your privacy, your battery life and your device

Jun 26, 2022
Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface.

Fermata Media Player About Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface. It is focused on

Aug 15, 2022
Shuttle is an open source, local music player for Android.

Shuttle Music Player Shuttle is an open source, local music player for Android. Shuttle comes in two flavours: Shuttle (free) Shuttle+ The free versio

Aug 13, 2022
TunePlayer is a basic music player app aimed at showing how MusicServiceCompat and MusicBrowerCompat can be used to build a music playback service
TunePlayer is a basic music player app aimed at showing how MusicServiceCompat and MusicBrowerCompat can be used to build a music playback service

TunePlayer TunePlayer is a basic music player app aimed at showing how MusicServiceCompat and MusicBrowerCompat can be used to build a music playback

Nov 9, 2021
This is a local music player, imitates the UI of Netease Music client.
This is a local music player, imitates the UI of Netease Music client.

Introduce This is a local music player, imitates the UI of Netease Music client. The UI was built on Jetbrains Compose. Screenshot Features Parse and

Dec 13, 2021
This is a local music player, imitates the UI of Netease Music client.
This is a local music player, imitates the UI of Netease Music client.

Introduce This is a local music player, imitates the UI of Netease Music client. The UI was built on Jetbrains Compose. Screenshots Features Parse and

Dec 13, 2021
Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players
Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players

Auxio A simple, rational music player for android. FAQ | Licenses | Contributing | Architecture About Auxio is a local music player with a fast, relia

Mar 21, 2022
Echo is a lightweight and minimal music player for Android, built with Android Studio and written in Kotlin
Echo is a lightweight and minimal music player for Android, built with Android Studio and written in Kotlin

Echo - Echo, A light-weight, minimal music player for Android, with shuffle, favorites and audio visualization

Feb 7, 2022
NOVA is an open source video player for Android

NOVA: opeN sOurce Video plAyer Overview NOVA is an open source video player for Android. It consists in a fork of the original Archos Video Player Com

Aug 15, 2022
An offline music player android app, with modern UI and powerful features
 An offline music player android app, with modern UI and powerful features

Pulse Music An offline music player android app, with modern UI and powerful features If you liked this repo, fork it and leave a STAR. Your support m

Apr 11, 2022
Yet Another Video Player (or YAVP) is a Video Player for Android that is based on Googles ExoPlayer.
Yet Another Video Player (or YAVP) is a Video Player for Android that is based on Googles ExoPlayer.

Yet Another Video Player Yet Another Video Player (or YAVP) is a Video Player for Android that is based on Googles ExoPlayer. Who Is YAVP For? First o

Aug 7, 2022
Compose-video-player - Video player for Android Compose powered by ExoPlayer

Compose Video Player Video player for Android Compose powered by ExoPlayer. Addi

Jun 19, 2022
A elegant and light weight music player for android
A elegant and light weight music player for android

A elegant and light weight music player for android

Aug 13, 2022
Lightweight and Material designed Music Player
Lightweight and Material designed Music Player

Music Player Lightweight and Material designed Music Player Based on Phonograph Features: Settings: Active tabs management Themes: Light, Dark, Black

Aug 5, 2022
A clean music player with a customizable widget, stylish interface and no ads.
A clean music player with a customizable widget, stylish interface and no ads.

Simple Music Player A clean music player with a customizable widget. A music player easily controllable from the status bar, home screen widget or by

Aug 19, 2022
Android music player example.
Android music player example.

Android music player example.

Jul 29, 2022
Best material design music player for Android
Best material design music player for Android

Metro Material Design music player for Android music lovers Table of contents Downloads Differences between Metro and RetroMusicPlayer Screenshots App

Aug 16, 2022