Hi everyone,
I’m trying to display a short intro video in my Oracle APEX app using a standard HTML5 <video>
tag.
Here’s my current code:
<video controls playsinline preload="metadata" width="100%"> <source src="#APP_FILES#INTRO.mp4" type="video/mp4"> Your browser does not support the video tag. </video>
The video works perfectly on desktop browsers (Chrome, Edge, Safari on macOS),
but it does not play at all on iPhone or iPad (tested in both Safari and Chrome).
On iOS, the video control bar shows up but playback never starts — sometimes I get the “video could not be loaded” message.
Here’s what I’ve already tried:
- Converted the video multiple times (using HandBrake and Convertio) to ensure it’s H.264 video + AAC audio, optimized for iOS (
.mp4
format).
- Verified the file plays fine directly in Safari on desktop.
- Used both
autoplay
, muted
, and playsinline
attributes — no difference.
- Tried with
preload="auto"
and preload="metadata"
.
- Uploaded the file as a Static Application File (
#APP_FILES#INTRO.mp4
).
Still, iOS refuses to play it inside the APEX app, while it plays normally on desktop.
Has anyone encountered this issue before in APEX (ORDS static files)?
Could this be related to CORS, MIME type, or how ORDS serves static content on mobile Safari?
Any tips or working examples of a <video>
tag in APEX that play on iOS would be greatly appreciated!
Thanks in advance 🙏