In my VLCJ application, I would like to implement a rewind and fast forward function similar to the functions provided on streaming services like Netflix or Amazon. My application will eventually (hopefully) be run on smart TVs, so having that functionality will be very useful.
In most of the streaming services, pressing a "back" button causes the video being viewed to skip backwards and continue doing so until the user hits the play button. The fast forward function operates in a similar manner.
On some systems (the Kodi application comes to mind) engagiing a "rewind" control causes a slow rewind, which doubles in speed each time the rewind control is engaged. At one point (usually if the rewind is going at 16x the speed of play) hitting rewind once again actually stops the rewind. The fast forward on applications like Kodi work in a similar manner.
There appears to be no real rewind capability implemented in the VLCJ API.
I am aware of the VLCJ cotrols() functions called skipTime() and skipPosition(). These functions can "skip" a video forward or backward by a certain amount. Unfortunately, all these functions do is skip back (or forward) once. In order to use these functions to do actual rewind or fast forward, they need to be called multiple times, either by repeatedly engaging a rewind (or fast forward) control or by somehow creating a loop which repeatedly calls the function (my attempts to do this ended in abysmal failure).
I note that I can create nice, smooth fast forward behavior using the controls().setRate() function. Unfortunately, there is no way to use that function to go backward (I have tried).
So: is there a way to implement a real rewind or fast forward function using the available VLCJ API? I am using V4.7.3 of the API. Has anyone used it to implement such functions? If so, how did you do it?