Listening to Player Events
Event Subscription
The application can subscribe to events such as changes in player state, buffering state, seek state and playback errors.
// Register a callback to be called when a certain player event is published
player.subscribe('error', callback);
Observe Player state changes
Changes in player state can be received by implementing the following
player.subscribe('playbackstatechanged', (state: string) => {
switch (state) {
case 'idle':
//handle idle state.
break;
case 'loading':
//handle loading state.
break;
case 'loaded':
//handle loaded state.
break;
case 'started':
//handle started state.
break;
case 'paused':
//handle paused state.
break;
}
});
The player can be in one of the following playback states:
PlaybackState.IDLE
: This is the initial state, indicates that the player has no media to play and doesn't hold any resources.PlaybackState.LOADING
: Indicates that the player is loading the initial media chunks (manifest, initialization chunks etc.,) required to play the Media Source.PlaybackState.LOADED
: Indicates that the player has loaded all the resources needed to start playback rendering.PlaybackState.STARTED
: Indicates that the player has started rendering playback.PlaybackState.PAUSED
: Indicates that the player has paused rendering playback.
Player Events and State
Observing the Playback Time
Changes in player progress can be received by implementing the following in a registered listener/delegate:
player.subscribe('progressupdate', function (event) {
// progess update
});
Handle Player Errors
Playback failures can be observed by subscribing to the following in a registered listener/delegate.
player.subscribe('error', callback);
note
Refer to Error Codes page for the full list of possible error codes.