MediaStreamTrack: ended 事件
ended 事件是 MediaStreamTrack 接口的事件,当媒体播放或流因到达媒体末尾或没有更多可用数据而停止时触发。
此事件不可取消,也不会冒泡。
语法
在诸如 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 |
浏览器兼容性
加载中…