IjzerenHein / react-navigation-shared-element

React Navigation bindings for react-native-shared-element 💫
https://github.com/IjzerenHein/react-native-shared-element
MIT License
1.27k stars 124 forks source link

Expo av (video) player transition not very smooth. #96

Open FawadMahmood opened 4 years ago

FawadMahmood commented 4 years ago

Is it possible to translate video player to next screen and keep it running.

I am able to make it. But video not work as expected, I made a manual example using Animated api that works for me, but having issues with transition of the navigator.

It will be great if I can make this library work for me for this task. Please help.

drewandre commented 3 years ago

@FawadMahmood could you provide a code example?

drewandre commented 3 years ago

@IjzerenHein I'm also curious how a video transition would behave. I got an example up and running locally, but I see the same issue as @FawadMahmood. Images and other views work great as shared element transitions, but the video component pauses and resets itself which makes for a difficult user experience to account for. I tried seeking to where the video left off, but this isn't an ideal solution.

I think this is a unique situation for this library since all other transitions can unmount and remount themselves as a newly cloned component without flickering/issues. But videos would need to remain mounted and active during the transition. Do you think this is possible with this library?

Thanks!

drewandre commented 3 years ago

I've created an example repo to demonstrate this issue. It's a fork from the latest react-navigation-shared-element-demo repo.

Below is a gif showing how the video pauses. Ideally the <Video /> component would remain mounted and would not pause during the transition before ultimately resetting once the transition has finished. Is this possible with this library, or even just using the core primitives from react-native-shared-element?

ezgif com-video-to-gif

FawadMahmood commented 3 years ago

Yes, thank you for an example, @drewandre I am facing exactly same issues, also performance is not very good.