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

瀏覽器相容性

另見