These are all the events you can listen for, along with an example of data passed to the callback registered using the on() callback.

Events include some detail about the current state but you can always use the get methods to return any additional data you need.

EventData typeExample data passed to callback
durationchangeObject{"duration":11.4}
endedObject{"seconds":11.4,"percentage":100}
fullscreenchangeObject{"fullscreen":true}
hotspotclickedObject{"id":"abcdefgh12345678","seconds":5}
loadedmetadataObject{"videoWidth":1920,"videoHeight":1080}
pauseObject{"seconds":7.235,"percentage":63.461}
playObject{"seconds":1.341,"percentage":11.761}
playingObject{"seconds":1.341,"percentage":11.767}
progressObject{"percentage":100}
qualitychangeObject{"quality":"720p"}
playbackratechangeObject{"playbackRate":1.5}
seekedObject{"seconds":5,"percentage":43.86}
seekingObject{"seconds":5,"percentage":43.86}
trackchangeObject{"language":"en"}
timeupdateObject{"seconds":7.648,"percentage":67.089}
volumechangeObject{"volume":0.82}