Mira,
Hice un jsfiddle hace tiempo para ver qué eventos se disparaban en el reproductor de audio.
https://jsfiddle.net/jjimenezt/obfr9e9n/
El caso es que al darle al "play", y mientras se está reproduciendo el audio, veo que se repiten una y otra vez los eventos:
- timeupdate
- progress
- suspend
Previamente, al iniciarse la reproducción ha ejecutado:
Código:
play, waiting, progress, durationchange, loadedmetadata, loadeddata, canplay, playing, canplaythrough
Sospecho que en "loadedmetadata" o "loadeddata" o en "durationchange", se obtiene la duración total. En o "progress" sacas información de la parte ya descargada. Y en "timeupdate" la actualización de por donde va reproduciendo.
Echa un vistazo a la documentación de los media events.
https://developer.mozilla.org/en-US/...s/Media_events
Espero haberte orientado un poquito.