RTCDTMFSender: tonechange Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.

Das tonechange Ereignis wird von der WebRTC API an einen RTCDTMFSender gesendet, um anzuzeigen, wann DTMF-Töne, die zuvor zur Übertragung in die Warteschlange gestellt wurden (durch Aufruf von RTCDTMFSender.insertDTMF()), beginnen und enden.

Um festzustellen, welcher Ton abgespielt wurde oder wenn ein Ton aufgehört hat zu spielen, überprüfen Sie den Wert der tone-Eigenschaft des Ereignisses.

Dieses Ereignis kann nicht abgebrochen werden und hat keine Bubbling-Phase.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignisbehandler-Eigenschaft.

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

ontonechange = (event) => { }

Ereignistyp

Ereigniseigenschaften

Zusätzlich zu den Eigenschaften von Event bietet dieses Interface Folgendes:

RTCDTMFToneChangeEvent.tone Schreibgeschützt

Ein Zeichenfolgenwert, der den Ton angibt, der zu spielen begonnen hat, oder eine leere Zeichenfolge (""), wenn der vorherige Ton das Spielen beendet hat.

Beispiele

Dieses Beispiel richtet einen Handler für das tonechange Ereignis ein, der ein Element aktualisiert, um den aktuell abgespielten Ton in seinem Inhalt anzuzeigen, oder, wenn alle Töne abgespielt wurden, die Zeichenfolge "<none>".

Dies kann mit addEventListener() erfolgen:

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

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

Sie können auch einfach die ontonechange Ereignisbehandler-Eigenschaft direkt setzen:

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

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

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# event-RTCDTMFSender-tonechange

Browser-Kompatibilität