Hey everyone,
I recently migrated my project to UE 4.13 in order to be able to play a video from an HTTP source inside an UMG Blueprint. I am able to open and play the video fine (using the docs’ sample video URL) if I open the source inside the level blueprint. However, if I open it from an UMG Blueprint, nothing happens and the OnMediaOpened event is never called.
A few things:
- The URL is supposed to be set dynamically using a String I grab from a VaRest JSON Data source, but the result is the same if I hardcode the URL either in the blueprint script or in the StreamMediaSource
- For some reason, if I leave the Stream Media Source URL empty, Play in Editor, do the actions that load my video URL, and stop PIE, the Stream Media Source object will have an URL set in the Content Browser.
- The UMG Widget that plays the video is generated when clicking a button. The media texture is assigned to the Image UMG component - and again, if I call Open Source from the Level Blueprint, the media will be playing when the UMG widget is added to viewport (in fact, it will already be playing since the level blueprint call since Play on Open is checked in the Media Player).
Here are the blueprints I use:
- This is the Video UMG Widget Event Graph. This is the widget I spawn when I press the UMG button that should make the widget appear, and the video play. The “VideoRenderer” object is simple an Image component with the media texture attached to it.
- This is the PlayVideo function that is called by the previous button that creates this VideoWindow.
The Open Source method is called properly since my Blueprint debugger pauses at the breakpoint when I click my “play video” button and the VideoWindow is created/attached to viewport. However, neither MediaOpenedEvent nor MediaOpenFailEvent are called.
Is it a bug or am I missing something?
Thanks !