Follow the events of 'loadeddata', 'canplay' and 'canplaythrough' - they respectively indicate that some data is loaded, enough data is loaded to start playback, and enough data is loaded to start and end playback without waiting for further buffering.
source share