Skip to content
SendyYaoPublic

About

DS Player is an Android music player for Synology NAS, inspired by DS Audio.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🎵 DS Player

A modern Synology NAS music player inspired by DS Audio

Rebuilt, restored, and improved for Android

Platform Language DI Status License

✨ About

DS Player is an Android music player for Synology NAS, inspired by DS Audio.

This project started from my personal interest in improving the original DS Audio experience, especially the lyrics UI and playback interaction.

It is based on restoring and reorganizing the original DS Audio architecture, while keeping compatibility with its framework structure such as:

  • DaggerFragment
  • DaggerDialogFragment
  • Synology NAS API
  • DS Audio style navigation and player logic

The original motivation was simple:

🎯 Make lyrics scrolling and seeking better than DS Audio

🖼️ Screenshots

HomePage
Home Page
Playlist
Playlist
Playlist2
Playlist2
Lyric
Lyrics

🚀 Features

🏠 Main Pages

  • HomePageFragment (PinsFragment, DefaultGenreFragment)
  • PlaylistFragment
  • RadioFragment
  • FileSongFragment
  • PlayerFragment (LyricFragment(PhoneLyricFragment、TabletFragment)、PlayingQueueFragment)
  • TestFragment

🎵 Music Browsing

  • browse NAS music library
  • radio support
  • genre browsing
  • pinned content
  • file song list

🖼️ Improved Album Covers

Originally, every song item used the default icon: R.drawable.icon_music

Now each item can load its own cover image using: CoverUriLoader

This improvement was implemented by modifying: FileSongListAdapter


🎤 Better Lyrics Experience

This is the most important improvement target of the project.

Current test features:

  • smooth lyric scrolling
  • draggable lyric seek
  • synchronized playback progress
  • LyricViewX integration testing

Currently tested in:

PlayerActivity

Future versions will replace the default DS Audio lyrics UI completely.


🛠️ Tech Stack

  • Android
  • Java / Kotlin
  • Dagger
  • Fragment architecture
  • Synology NAS API

🧪 Test / Debug Pages

🔍 TestFragment、MyPinsFragment、GenreFragment

Used for testing:

  • queryAll() NAS API methods、endpoint information、debugging response structures
  • switch fragment

📍 Current Progress

Most core functions are already working.

✅ Completed

  • homepage
  • player page
  • lyric fragment
  • file song list
  • radio
  • song list page
  • player activity lyric tests
  • album cover loading

🚧 In Progress

  • SearchActivity
  • secondary menu actions
  • fragment back stack optimization
  • lyric UI replacement

🐞 Known Issues

Some incomplete logic still exist.

🧩 Missing Features

Some secondary menu operations are not yet completed:

  • Download
  • Rate
  • Playlist operations
  • Share

🗺️ Roadmap

🎯 Near Future

  • replace default lyric UI with LyricViewX
  • fix back gesture issues
  • improve search entrance UX & complete SearchActivity

🌟 Future Improvements

  • dark mode optimization
  • better player animations
  • better NAS API abstraction

💡 Why This Project

The original DS Audio app works well, but I always felt two areas needed improvement:

🎤 Lyrics

The default lyrics experience is not smooth enough.

Especially:

  • scrolling
  • dragging
  • syncing

🔍 Search

The search button location is inconvenient.

Currently users need to:

return to root page → open drawer → click search

This should be much easier.


📜 License

This project is licensed under a Non-Commercial License.

🚫 Commercial use is not allowed.

See LICENSE for details.


⚠️ Disclaimer

This project is for personal learning and development purposes only.

It is inspired by Synology DS Audio and is not affiliated with Synology.

About

DS Player is an Android music player for Synology NAS, inspired by DS Audio.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages