So I’m currently working on this project for Oculus Quest, that is some sort of a VR museum. My task is to create something of a media player inside VR. Basically there will be a room, control panel and a screen with some video playing on it. User can control video with this control panel(which is just a progress bar shown in attachments) which works exactly like a video bar in youtube(or any other media player), but instead of mouse player uses hands(controllers). I can’t seem to find a way to do that in Unreal. I tried to do it via changing rate of the video, but it doesn’t seem to give results that I want. So my question is how can i achieve this type of media player in Unreal?
Here’s one way to do it:
This is using a slider (because it’s easier) and the progress bar is for display only.
- PreConstruct ensures we choose the correct playlist - this is optional and depends on how you set up the media
- Tick sets the slider’s and progress bar’s position during playback, according to its current progress
- the Slider’s onValueChanged mapRanges the slider’s value onto the media length
- MouseCapture pauses the video during Seek and allows it to play again once we’re done scrubbing
Hope it helps.
I’m not good with VR but for as long as the player can grab onto the slider’s handle, the above should work just fine… Since you’ll be using a WidgetComponent for this, ensure it can receive Hardware Input.
I wanted to contain the whole thing in a single blueprint for simplicity sake. However, I believe it would be more performant to play the video on a simple plane rather than inside a widget via a texture. In which case you’d need to hook up the widget’s controls to whatever object holds onto the media player - simple event dispatcher would work for this.
This is exactly what I’m looking for! I will try to use it in VR and also apply it onto plane. I’ll keep you updated.