docs.rodeo

MDN Web Docs mirror

RTCDTMFSender: tonechange event

{{APIRef("WebRTC")}} 

The tonechange event is sent to an {{domxref("RTCDTMFSender")}}  by the WebRTC API to indicate when {{Glossary("DTMF")}}  tones previously queued for sending (by calling {{domxref("RTCDTMFSender.insertDTMF()")}} ) begin and end.

To determine what tone started playing, or if a tone stopped playing, check the value of the event’s {{domxref("RTCDTMFToneChangeEvent.tone", "tone")}}  property.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.

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

ontonechange = (event) => {};

Event type

An {{domxref("RTCDTMFToneChangeEvent")}} . Inherits from {{domxref("Event")}} .

{{InheritanceDiagram("RTCDTMFToneChangeEvent")}} 

Event properties

In addition to the properties of {{domxref("Event")}} , this interface offers the following:

Examples

This example establishes a handler for the tonechange event which updates an element to display the currently playing tone in its content, or, if all tones have played, the string “<none>”.

This can be done using {{domxref("EventTarget.addEventListener", "addEventListener()")}} :

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

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

You can also just set the ontonechange event handler property directly:

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

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

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN