FunFlixDroid - An Android Funscript player

FunFlixDroid

FunFlixDroid is an Android video player for synchronized adult content, built to work seamlessly with interactive sex toys.

Its biggest strength is its ability to intelligently adapt funscripts originally designed for strokers into natural and immersive patterns for vibrators, rotating toys, and many other device types—unlocking an entire library of content for virtually any toy.

Why FunFlixDroid?

  • :counterclockwise_arrows_button: Unique funscript conversion — Automatically transforms stroker scripts into realistic vibration and motion patterns for non-stroker devices.
  • :raised_hand: Excellent The Handy support — Bluetooth and Wi-Fi connectivity with precise synchronization.
  • :vibration_mode: Hundreds of compatible toys — Supports The Handy, Lovense devices, and the entire Intiface ecosystem.
  • :goggles: Watch your way — Local videos, VR, Chromecast, SMB shares and external player synchronization.
  • :control_knobs: Highly customizable — Fine-tune synchronization, intensity, playback, gestures and device behavior.
  • :locked: Privacy-first — Offline playback, discreet mode and no unnecessary cloud dependency.

:inbox_tray: Download

:downwards_button: Download FunFlixDroid

:link: Explore full documentation and setup guide

:scroll: Releases notes


:rocket: Key Features




:white_check_mark: Wide Device Compatibility
Connect to 100+ devices supported by Buttplug.io via Intiface Central.
:backhand_index_pointing_right: See Supported Devices

:white_check_mark: Multiple Playback Options

  • Chromecast cast and synchronize to your TV
  • Local Website Cast cast and synchronize to any web browser
  • VLC synchronize with remote VLC player
  • HereSphere synchronize with remote HereSphere player
  • DeoVR synchronize with remote DeoVR player

:white_check_mark: Script Control

  • Load multiple scripts
  • Use multiple devices simultaneously
  • Customize intensity, speed, position, and delays in real-time

:white_check_mark: Multi-Source Video Access

  • Play from local storage
  • Stream from Samba shares

:speech_balloon: Feedback & Contact

If you have questions, ideas, or encounter any bugs, the best place to reach me is here on EroScripts — just reply to this thread!


Love the App ?

Love using FunFlixDroid ? :rocket:
You can help me keep it alive and growing by supporting me on Patreon !
Thank you! :heart:


Roadmap

Want to know what’s coming soon ? Check the Roadmap !

46 Likes

Does this support buttplug.io enabled fuckmachines such as the hismith and lovense machines?

4 Likes

Hello, thanks for making this app but I doesn’t work for me or im doing something wrong lol

im on Android 14, Intiface central installed, handy showing up as connected inside Intiface central app and if I use the oscillation toggle button the handy starts moving so far Intiface Central and the handy connection works…
Now inside FunFlixDroid in the Intiface section it shows Intiface connected and the handy show ups below the TEST button, in the Home section after I choose a video and a script and press PLAY the handy doesn’t move
Any ideas ?

1 Like

Hello, the app only supports vibrator devices for now. So Hismith, Handy and any positional devices won’t work.
I only own vibrator devices so that’s why I didn’t implement positional devices at first. I can try to implement it but I won’t be able to test it. So if anyone of you is interested to test it I can try to implement positional devices on the next update

@Fyustorm I’m up for the testing of The Handy Masturbator (Linear Device)

App looks amazing btw and super easy to use!

does this work with the kiiroo pulse interactive?

@DarkkSkull @Rriik @n0ir I changed the download link to the new version 1.0.1.

I tried to implement linear devices in this version but as I said I have no device to test it. So be aware that it might not work 100%. No speed limit has been set and I have no idea how and if Buttplug handls it

I’m up for the testing for the Handy too

Just updated the link. I sent the wrong one before :upside_down_face:

If you can connect and use your device with Intiface Central then it should work

1 Like

The Handy sadly doesn’t move with the 1.0.1. Update. Everything is connected successfully in Intiface Central & FunFlixDroid

Ok, I will need to add logs everywhere and a way to share the logs to see what’s happening

2 Likes

Here is a new version with debug logs.
You can test again : connect to Intiface, hit the test button, try to play a video for few seconds and finally export the logs from the settings menu

The test button now moves the handy, but playing a video doesn’t
here are the logs

2024-11-05 14:33:43 E/FunFlixDroid: Connection timeout
2024-11-05 14:33:43 E/null: Could not connect
2024-11-05 14:33:51 I/null: Connected to intiface
2024-11-05 14:42:02 I/null: Device added The Handy - 0
2024-11-05 14:42:02 I/IntifaceClient: scalarVibrateCount 0
2024-11-05 14:42:02 I/null: linearCount 1
2024-11-05 14:42:02 I/null: scalarRotateCount 0
2024-11-05 14:42:02 I/null: scalarOscillateCount 0
2024-11-05 14:42:02 I/null: rotateCount 0
2024-11-05 14:42:02 D/null: StopDeviceCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.NullMessageAttributes@5bbdbe
2024-11-05 14:42:02 D/null: LinearCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.GenericMessageAttributes@7dd356c
2024-11-05 14:42:07 I/null: Connected to intiface
2024-11-05 14:42:45 I/null: Connected to intiface
2024-11-05 14:42:58 I/null: Connected to intiface
2024-11-05 14:43:00 I/IntifaceFragment: Start test devices
2024-11-05 14:43:00 I/IntifaceClient: scalarVibrateCount 0
2024-11-05 14:43:00 I/null: linearCount 1
2024-11-05 14:43:00 I/null: scalarRotateCount 0
2024-11-05 14:43:00 I/null: scalarOscillateCount 0
2024-11-05 14:43:00 I/null: rotateCount 0
2024-11-05 14:43:00 D/null: StopDeviceCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.NullMessageAttributes@5bbdbe
2024-11-05 14:43:00 D/null: LinearCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.GenericMessageAttributes@7dd356c
2024-11-05 14:43:00 D/setLinearPosition: Position 1.0 Duration 1000 Next at 1000 Device index null Cmd idx null
2024-11-05 14:43:00 D/null: Keyindex null-null
2024-11-05 14:43:01 D/setLinearPosition: Position 0.0 Duration 1000 Next at 2000 Device index null Cmd idx null
2024-11-05 14:43:01 D/null: Keyindex null-null
2024-11-05 14:43:02 I/null: End test devices
2024-11-05 14:43:09 I/IntifaceFragment: Start test devices
2024-11-05 14:43:09 I/IntifaceClient: scalarVibrateCount 0
2024-11-05 14:43:09 I/null: linearCount 1
2024-11-05 14:43:09 I/null: scalarRotateCount 0
2024-11-05 14:43:09 I/null: scalarOscillateCount 0
2024-11-05 14:43:09 I/null: rotateCount 0
2024-11-05 14:43:09 D/null: StopDeviceCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.NullMessageAttributes@5bbdbe
2024-11-05 14:43:09 D/null: LinearCmd io.github.blackspherefollower.buttplug4j.protocol.messages.Parts.GenericMessageAttributes@7dd356c
2024-11-05 14:43:09 D/setLinearPosition: Position 1.0 Duration 1000 Next at 1000 Device index null Cmd idx null
2024-11-05 14:43:09 D/null: Keyindex null-null
2024-11-05 14:43:10 D/setLinearPosition: Position 0.0 Duration 1000 Next at 2000 Device index null Cmd idx null
2024-11-05 14:43:10 D/null: Keyindex null-null
2024-11-05 14:43:10 I/null: End test devices
2024-11-05 14:43:18 I/null: Resume
2024-11-05 14:43:39 I/null: Stop

It should be better now : FunFlixDroid_1.0.3.apk » Fyustorm

Now is working, but the scripts seems to be out of sync the video, seems like the script is playing 2-3x faster than the video speed and when I pause the video It takes around 5-8 seconds for the handy to stop moving

@Fyustorm Everything is working!
Can u please change the sorting of the Folder list to “NAME” instead of “Last Modified”. thank you!

@n0ir try reducing the Intensity.

Here is my Log file

FunFlixDroid.logs.txt (439.7 KB)

I tried that, maybe its my phone lol

It should already use the name to sort the videos. Do you have any example of videos names in the wrong order ?

The intensity is only used for scalar devices, so it won’t affect linear devices

1 Like

I just uploaded new version 1.0.4 with the possibility to add/remove delay for the script in the player view (you can find a new settings button on the top right corner when player a video)
The device should also stop directly when playing the video