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>) fireendedwhen playback of the media reaches the end of the media.
- Media streams' tracks, which are based on the MediaStreamTrackinterface, fireendedwhen 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 endedevent.
 
- 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
- Specification
- HTML5 media, Media Capture and Streams and Web Audio API
- Interface
- Event
- Bubbles
- No
- Cancelable
- No
- Target
- Element
- Default Action
- None.
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.
Properties
| Property | Type | Description | 
|---|---|---|
| targetRead only | EventTarget | The event target (the topmost target in the DOM tree). | 
| typeRead only | DOMString | The type of event. | 
| bubblesRead only | Boolean | Whether the event normally bubbles or not | 
| cancelableRead only | Boolean | Whether the event is cancellable or not? |