MediaStreamTrack: ended 事件
当媒体播放或流传输由于达到媒体结尾或没有更多可用数据而停止时,MediaStreamTrack
接口的 ended
事件将被触发。
此事件不可取消且不会冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或者设置事件处理程序属性。
js
addEventListener("ended", (event) => {});
onended = (event) => {};
事件类型
一个通用的 Event
。
使用说明
当媒体流轨的源永久停止在流上发送数据时,将触发 ended
事件。这可能通过多种方式发生,包括:
- 没有更多数据可发送。
- 用户撤销了发送数据所需的权限。
- 生成源数据的硬件已移除或弹出。
- 远程对等体已永久停止发送数据。
- 唯一在轨道结束但不会触发
ended
事件的情况是调用MediaStreamTrack.stop
。
暂停媒体不会生成 ended
事件。
示例
此示例为 ended
事件设置了一个事件处理程序,该处理程序会更改屏幕上的图标,以指示轨道不再处于活动状态。
js
track.addEventListener("ended", () => {
let statusElem = document.getElementById("status-icon");
statusElem.src = "/images/stopped-icon.png";
});
您也可以使用 onended
属性设置事件处理程序
js
track.onended = () => {
let statusElem = document.getElementById("status-icon");
statusElem.src = "/images/stopped-icon.png";
};
规范
规范 |
---|
媒体捕获和流 # dom-mediastreamtrack-onended |
浏览器兼容性
BCD 表仅在浏览器中加载