---
title: 'HTMLMediaElement: ended'
slug: Web/API/HTMLMediaElement/ended_event
translation_of: Web/API/HTMLMediaElement/ended_event
---
如果playback或者streaming达到了媒体的未尾或者没有更多可用的数据,将会引发一个ended
事件。
这个事件将会发生在三个相关但独立的上下文中:
- Elements based upon {{domxref("HTMLMediaElement")}} ({{HTMLElement("audio")}} and {{HTMLElement("video")}}) fire
ended
when playback of the media reaches the end of the media.
- Media streams' tracks, which are based on the {{domxref("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.
- 一个Web Audio API节点停止了播放。这可能是由于它到达了之前设置好的终止时间点,也可能是已播放完了整个音频,或者是已播放完了buffer中的数据。另见{{domxref("AudioScheduledSourceNode")}}。
General info
- Specification
- HTML5 media, Media Capture and Streams and Web Audio API
- Interface
- {{domxref("Event")}}
- Bubbles
- No
- 可取消的
- No
- Target
- Element
- 默认操作
- 无。
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 |
target {{readonlyInline}} |
{{domxref("EventTarget")}} |
The event target (the topmost target in the DOM tree). |
type {{readonlyInline}} |
{{domxref("DOMString")}} |
The type of event. |
bubbles {{readonlyInline}} |
{{jsxref("Boolean")}} |
Whether the event normally bubbles or not. |
cancelable {{readonlyInline}} |
{{jsxref("Boolean")}} |
Whether the event is cancellable or not. |
- {{event("playing")}}
- {{event("waiting")}}
- {{event("seeking")}}
- {{event("seeked")}}
- {{event("ended")}}
- {{event("loadedmetadata")}}
- {{event("loadeddata")}}
- {{event("canplay")}}
- {{event("canplaythrough")}}
- {{event("durationchange")}}
- {{event("timeupdate")}}
- {{event("play")}}
- {{event("pause")}}
- {{event("ratechange")}}
- {{event("volumechange")}}
- {{event("suspend")}}
- {{event("emptied")}}
- {{event("stalled")}}