AudioScheduledSourceNode:ended 事件

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2020 年 9 月起,所有浏览器均已提供此功能。

当源节点停止播放时,会触发 AudioScheduledSourceNode 接口的 ended 事件。

AudioScheduledSourceNode 停止播放时,会发生此事件,原因可能是已达到预定的停止时间、音频已完全播放完毕,或者整个缓冲区已播放完毕。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("ended", (event) => { })

onended = (event) => { }

事件类型

一个通用的 Event

示例

在这个简单的示例中,为 ended 事件设置了一个事件监听器,以便在节点停止播放时启用用户界面中的“开始”按钮。

js
node.addEventListener("ended", () => {
  document.getElementById("startButton").disabled = false;
});

您也可以通过 onended 属性来设置事件处理程序。

js
node.onended = () => {
  document.getElementById("startButton").disabled = false;
};

有关 ended 事件用法的示例,请参阅我们在 GitHub 上的 audio-buffer 示例

规范

规范
Web Audio API
# dom-audioscheduledsourcenode-onended

浏览器兼容性

另见