Best android open-source packages and libraries.

Syncplay android

An unofficial Syncplay client for Android. It works perfectly with Syncplay on PC.
Updated 6 months ago

Syncplay for Android


Syncplay for Android

Syncplay - The Unofficial Android Client

Syncplay Android on IzzyOnDroid Repo

Table of Contents

Introduction

OS - Android Version Release Written Language is Maintained? License Status Requirement

Introducing Syncplay Android, an app that brings the remarkable functionality of Syncplay PC to the Android platform. With Syncplay Android, you can synchronize media playback with your friends, allowing you to watch videos together, even when you're physically apart.

In its beta release, Syncplay Android faithfully replicates the core features found in the desktop version of Syncplay. This includes real-time chat functionality, enabling seamless communication while enjoying synchronized playback on your Android device.

Experience the convenience of Syncplay on your Android device and enjoy shared video watching with friends. Embrace the joy of shared entertainment with Syncplay Android.

Cannot run on Android versions below Android 6.0 (Codename: Marshmallow)

Features

  • Seamless compatibility with Syncplay's official PC client and other Syncplay Android clients.
  • Offers the same core functionality as Syncplay for PC, with a meticulously rewritten Syncplay protocol from Python to Kotlin.
  • Integrated 2 high-performance video players (ExoPlayer and mpv) tailored to your device's capabilities and beyond.
  • Real-time colorful chat functionality, including support for emojis.
  • Extensive range of settings and preferences for customization.
  • Supports all audio track formats and most video formats.
  • Ability to load custom external subtitle files.
  • Efficient native Kotlin codebase for optimal performance.
  • Multi-language support (Currently available in English, Chinese, French and Arabic, with more languages coming soon).
  • Compatible with Android 6.0 Marshmallow up to the latest Android 14 UpsideDownCake release.

How to use

Usage is fairly simple:

  • Download the latest release APK from here.
  • Install the APK. If any installation issues arise, uninstall the previous version of the app before installing the new one.
  • Open Syncplay. Specify a username of your choice, a room name of your choice (Tell your friends about it)
  • Select a server from the list (Tell your friends about this one too)
  • Click "Join Room". You will be taken to the Room screen. You're all set. Tell your friends to join the same room and server.
  • Ta-Dah ! Just load the same video file as your friends and enjoy the synchronized playback.

Roadmap

These are the things I am willing to add/adjust in the future :

  • [x] Adopt original Syncplay's Chat functionality
  • [x] Shared Playlists
  • [x] Support for custom/private servers
  • [x] URL Support (as of 0.10.0)
  • [x] Multiple player engines (Exoplayer, mpv)
  • [x] Picture-in-picture mode (Floating window)
  • [ ] TLS/SSL Secure Connection Support
  • [x] Multi-language Support (WIP)
    • [x] English
    • [x] Arabic
    • [x] French
    • [x] Chinese (by Zhaodaidai)

Components and architecture

  • UI: Jetpack Compose
  • Architecture: modular (mostly MVVM)
  • Network backbone: Netty
  • Preferences: Jetpack Datastore
  • Integrated media players: Exoplayer + mpv (Switchable)

F.A.Q

  • If my friend uses Syncplay on PC, can I watch with them ?
    -> Yes, you can. Syncplay Android is made to be interoperable.
  • I get an error saying "App not installed" upon installing the app. What's wrong ?
    -> Uninstall the older version before installing the new one.

Translating

  • If you want to contribute with a translation in a language that isn't available in Syncplay, or enhance the actual translations, please refer to #30

Feedback

Feel free to file an issue.

If there's anything you'd like to chat about, please feel free to open a new discussion.

Build Process

The project is developed under Android Studio Hedgehog | 2023.3.1 Make sure you have a version equal or later than the one I am using (Or you will need to downgrade Gradle plugins). Download the source code ZIP and extract it somewhere, then open it using Android Studio. Then you can just build the app using a custom JKS keystore of your choice (Edit the keystore information on the module's build.gradle.kts).

Acknowledgments

Thanks to Official Syncplay for maintaining and open-sourcing such an amazing software.

Thanks to Et0h for his amazing hard work on official Syncplay and for lending a hand in our issues tracker section.

Thanks to Zhaodaidai for their contribution with the Chinese translation for the app.

Thanks to soredake for their thorough testing.

License

Syncplay for Android is under the AGPL-3.0 Open-Source License