When I have a conflict between UX and UI I always turn to NN/Gs UX Heuristics for advice. (as been shown in my past answers)
In this particular case I think these heuristics are more prevalent than ever:
Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
User control and freedom
Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
Recognition rather than recall
Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
In your app consider these questions:
How will a user know that they can pause and resume a video without
visible controls? Are you sharing that knowledge anywhere else?
What is your reasoning behind hiding the play controls? What do you
think will be improved by that?
In longer videos (1+ minutes long) if the user misses a scene will
they have to wait for the whole video to loop all over again?
I do not know the full extend or capabilities of your app. So in context (e.g if users are gonna edit short 15'' videos) it might make sense to just loop the video over and over.
As a rule of thumb "invisible" tap gestures, unless encountered often (e.g scrolling) are not found and used by all (if any) users which kind of negates the point of the gesture's existence.
And in general it's always better to err on the side of caution and allow users to control their content as they see fit.
As always, test with users the 2-3 different versions you have in mind and see which works best. It all depends on the context of the app and the information the users have before hand.