An unofficial Syncplay client for Android and iOS. Watch stuff in sync with your friends. Works well with Syncplay on PC. Fully written in Kotlin and Compose multiplatform.
:warning: This is NOT backward-compatible with the previous version (0.13.0), Uninstall the old one then install the new one.
Full iOS support: The project now compiles and runs on iOS devices and is usable. Volunteers interested in hosting the app on the Apple Store to make it available for installation to all users are encouraged to contribute.
Fixed issue with Preference Saving: Resolved a significant issue where user preferences were not saved or applied upon exiting the preference screen, affecting both in-room settings and global settings (#92).
VLC Integration: Implemented additional video playback support through the inclusion of VLC video playback engine (via libVLC
). It is powerful but not as stable as mpv. VLC is also implemented on the iOS side via MobileVLCKit
.
Reactivated Shared Playlist feature: although it is still experiencing functionality issues. Updates include:
New Network Setting Option: Introduced a new network engine selection option within global home settings (Settings -> Network -> Network Engine), enabling users to choose their preferred network engine.
Addition of MPV Options: Included two new MPV options, 'video sync mode' and 'profile preset', to control how mpv syncs the video (either by setting it sync video to the audio or to the display). This also fixes the “Framerate interpolation” which had no effect due to mpv applying the ‘audio’ video sync option by default. Note that this option is not exactly phone-performance-friendly especially when the display refresh rate is higher than 60 FPS. (#59 requested by @Zhaodaidai)
Bug Fixes and Improvements :
Remove all shortcuts
to quickly remove existing dynamic home shortcuts.Known iOS Limitations:
If you're not familiar with different phone architectures, go ahead and download the arm64-v8a
APK. It should work on most phones out there. In case it doesn't work, you can try the armeabi-v7a
APK as an alternative. Keep in mind that there are some devices with rare architectures such as x86_64
or x86
. Please note that I won't be providing a universal APK since it would be too large (around 300MBs).
If you don't want all video engines (mpv, VLC and ExoPlayer), go ahead and download syncplay-version-exo-only.apk
which contains only ExoPlayer (which should be compatible and stable with any phone, although I personally prefer running mpv).
This version is NOT backward-compatible with the previous version (0.12.0), Uninstall the old one then install the new one.
The Syncplay code has now been updated to work with both Android and iOS using a single codebase, thanks to the Kotlin Multiplatform framework. This means the app now shares the same code for logic and user interface on both platforms (using Compose multiplatform). The repository has been renamed from syncplay-android to syncplay-mobile. Unlike the last version, I have tested this version to some extent, it should be more stable, but no promises, the whole code is based on a beta framework, so issues may arise from device to another. Don't hesitate to open issues or feature requests if any.
Core changes:
Known Issues: Due to commonizing a lot of logic to make it work on iOS as well, the following are broken:
Upcoming stuff:
About iOS... The repository is now a Kotlin Multiplatform Mobile project. The whole UI is built using Compose multiplatform, the network backend uses Netty on Android and Ktor on iOS. Settings and preferences are persisted using Datastore, so the UX is consistent on both platforms. However, the iOS couterpart is still under development as I haven't adapted the video player on that side (AVPlayer) for synchronization, so the project pretty much does not compile on iOS for now. I will open an issue concerning this to track updates.
Which APK should you download ?
If you're not familiar with different phone architectures, go ahead and download the arm64-v8a
APK. It should work on most phones out there. In case it doesn't work, you can try the armeabi-v7a
APK as an alternative. Keep in mind that there are some devices with rare architectures such as x86_64
or x86
. Please note that I won't be providing a universal APK since it would be too large (around 110MBs).
If you don't want multiple engines (both ExoPlayer and mpv), go ahead and download syncplay-version-exo-only.apk
which contains only ExoPlayer (which should be compatible and stable with any phone, although I personally prefer running mpv).
Core changes:
Add home shortcut for current config
button on mainscreen, it will create a dynamic shortcut (which you'll find by long-clicking syncplay's icon) and a pinned shortcut which you can place anywhere in your home screen.Aesthetic changes:
Known issues and upcoming additions/fixes:
Which APK should you download ?
If you're not familiar with different phone architectures, go ahead and download the arm64-v8a
APK. It should work on most phones out there. In case it doesn't work, you can try the armeabi-v7a
APK as an alternative. Keep in mind that there are some devices with rare architectures such as x86_64
or x86
. Please note that I won't be providing a universal APK since it would be too large (around 110MBs).
If you don't want multiple engines (both ExoPlayer and mpv), go ahead and download syncplay-version-exo-only.apk
which contains only ExoPlayer (which should be compatible and stable with any phone, although I personally prefer running mpv).
Syncplay is completely revamped. Uninstall any version you have, this new version is not backward-compatible with the previous ones so updating is not possible. Also, anything below Android 8.0 is not supported. If you want to have Syncplay Android for legacy Android versions, use 0.10.1 or below.
v0.11.0 to v0.11.1 EDIT: Enabled 'Reconnection interval' in-room settings, Enabled 'Track Language Preferences', Fixed package name change to match it with the previous versions.
0.10.0
, hence, the video position not being declared at all to the server which causes synch issues between Android devices, as well as the PC Client.This release brings a bunch of important fixes to a myriad of bugs, and further stabilizes the beta release as we approach a stable release. For those of you who obtained the Google Play store version (which is currently unavailable), this version cannot update it (different signature) and therefore will require you to uninstall it, and install the new one. Those who have version 0.9.0 can safely update it without having to uninstall anything.
And yes, Google is at it again banning my Google Play account for the second time for no apparent violation (Do they hate open-sourcers? ._.). Without further ado, the following section contains a list of made changes.
The best way you can contribute to this app is by translating it or testing it as intensively as you can and telling me about any issues. Enjoy :)
Uninstall v0.8.0 or any older version or you'll have duplicate separate apps. The package name was changed from 'com.chromaticnoob.syncplay' to 'com.reddnek.syncplay' and therefore requires you to delete the old app and install this new one. As mentioned in #35, this is the second time the package name is changed, but should be the last one as well. Apologies.
There's still a lot left to do. Let me know if anything needs to be fixed, or any feature to add. Also you can support the project by providing translations in your own native language.
I still haven't gotten around to code the URL support, I will make sure it will be included in the next version ;)
Uninstall v0.7.0 or any older version or you'll have duplicate separate apps. App's namespace was changed and therefore requires a clean re-installation.
There's still a lot left to do. Let me know if anything needs to be fixed, or any feature to add. Also you can support the project by providing translations in your own native language.
Full Changelog: https://github.com/chromaticnoob/syncplay-android/compare/0.7.0...v0.8.0
This is another major update that addresses some other serious issues, and adds a lot to the plate.
Indeed, such a mesmerizing update ! But let's not forget that the app still suffers from some issues that will be fixed in the next version.
Please let me know if anything needs to be fixed, or any feature to add. Also you can support the project by providing translations in your own native language.
Changelog;
Code Changelog:
SyncplayUtils
.Known Issues: