Events
Every event emitted by the Moviie Player API.
The tables below cover every event exposed by the Player API. Subscribe
to events with window.Moviie.on(event, handler) — see the
Listen to events guide for the full subscription
API.
| Event | Payload | Description |
|---|
| readyonce | — | Fires once per session when the player has loaded enough metadata to begin playback. Use this to register listeners that depend on the player being initialised. |
| play | — | Fires every time playback starts or resumes after being paused. |
| pause | — | Fires every time playback is paused, including when the viewer reaches the end. |
| ended | — | Fires when playback reaches the end of the video. Pair with `pause` if you also need to react to manual pauses. |
| waiting | — | Fires when the player stalls waiting for more data — typically a buffering condition on slow networks. |
| playing | — | Fires when playback resumes after a `waiting` event. |
| Event | Payload | Description |
|---|
| timeupdate | { currentTime: number } | Fires periodically (~250ms) while the video is playing. Throttle any heavy work — this is the highest-frequency event. |
| durationchange | { duration: number } | Fires when the duration becomes available or changes (e.g. live stream metadata refresh). |
| seeking | { from: number; to: number } | Fires when a seek operation starts. |
| seeked | { currentTime: number } | Fires when a seek operation completes and playback can resume. |
| Event | Payload | Description |
|---|
| volumechange | { volume: number; muted: boolean } | Fires when the volume level or muted state changes. |
| Event | Payload | Description |
|---|
| fullscreenenter | — | Fires when the player enters fullscreen mode. |
| fullscreenexit | — | Fires when the player exits fullscreen mode. |
| Event | Payload | Description |
|---|
| pipenter | — | Fires when the player enters Picture-in-Picture mode. |
| pipexit | — | Fires when the player exits Picture-in-Picture mode. |
| Event | Payload | Description |
|---|
| qualitychange | { quality: string } | Fires when the active video quality changes — either by viewer choice or by the adaptive bitrate logic. |
| Event | Payload | Description |
|---|
| loadstart | — | Fires when the player begins loading the video manifest. |
| canplay | — | Fires when enough data has been buffered to begin playback. |
| progress | { buffered: number } | Fires when the buffered range advances. |
| Event | Payload | Description |
|---|
| error | { code: string; message: string } | Fires when an error occurs during loading or playback. The payload exposes a stable error code and a localized message. |
| Event | Payload | Description |
|---|
| ctashow | { id: string } | Fires when a call-to-action overlay becomes visible. |
| ctahide | { id: string } | Fires when a call-to-action overlay is dismissed. |
| ctaclick | { id: string; href: string } | Fires when a viewer clicks a call-to-action overlay. |