RTCDTMFSender:tonechange 事件

Baseline 已廣泛支援

此功能已經成熟,並可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 3 月⁩起,它已在各瀏覽器中推出。

tonechange 事件由 WebRTC API 傳送給 RTCDTMFSender,以指示之前透過呼叫 RTCDTMFSender.insertDTMF() 排隊等待發送的 DTMF 音的開始和結束。

要確定哪個音開始播放,或者哪個音停止播放,請檢查事件的 tone 屬性的值。

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

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

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

ontonechange = (event) => { }

事件型別

RTCDTMFToneChangeEvent。繼承自 Event

Event RTCDTMFToneChangeEvent

事件屬性

除了 Event 的屬性外,此介面還提供以下內容:

RTCDTMFToneChangeEvent.tone 只讀

一個指定開始播放的音的字串,如果前一個音已播放完畢,則為空字串 ("")。

示例

此示例建立了一個 tonechange 事件的處理器,該處理器會更新一個元素以在其內容中顯示當前正在播放的音,或者,如果所有音都已播放完畢,則顯示字串“<none>”。

可以使用 addEventListener() 來實現這一點。

js
dtmfSender.addEventListener("tonechange", (ev) => {
  let tone = ev.tone;
  if (tone === "") {
    tone = "&lt;none&gt;";
  }

  document.getElementById("playingTone").innerText = tone;
});

你也可以直接設定 ontonechange 事件處理器屬性。

js
dtmfSender.ontonechange = (ev) => {
  let tone = ev.tone;
  if (tone === "") {
    tone = "&lt;none&gt;";
  }

  document.getElementById("playingTone").innerText = tone;
};

規範

規範
WebRTC:瀏覽器中的即時通訊
# event-RTCDTMFSender-tonechange

瀏覽器相容性