The ended event is fired when playback or streaming has stopped because the end of the media was reached or because no further data is available.

This event occurs in three related but unique contexts:

  • Elements based upon HTMLMediaElement (<audio> and <video>) fire ended when playback of the media reaches the end of the media.
  • Media streams' tracks, which are based on the MediaStreamTrack interface, fire ended when the track's source permanently stops sending data on the stream. There are various ways this can happen, including:
    • There is no more data left to send.
    • The user revoked the permissions needed for the data to be sent.
    • The hardware generating the source data has been removed or ejected.
    • A remote peer has permanently stopped sending data; pausing media does not generate an ended event.
  • A Web Audio API node has stopped playing, either because it's reached a predetermined stop time, the full duration of the audio has been performed, or because the entire buffer has been played. See AudioScheduledSourceNode.

General info

HTML5 media, Media Capture and Streams and Web Audio API
Default Action

While this event is defined in more than one specification, at this time they specify this event identically, so we have documented them as if they were one. If at some point that changes, the documentation will be revised.


Property Type Description
target Read only EventTarget The event target (the topmost target in the DOM tree).
type Read only DOMString The type of event.
bubbles Read only Boolean Whether the event normally bubbles or not
cancelable Read only Boolean Whether the event is cancellable or not?

Document Tags and Contributors

 Contributors to this page: Sheppy, teoli, ethertank, louisremi
 Last updated by: Sheppy,