files/en-us/web/api/rtcdtmftonechangeevent/index.md
{{APIRef("WebRTC")}}
The RTCDTMFToneChangeEvent interface represents events sent to indicate that {{Glossary("DTMF")}} tones have started or finished playing. This interface is used by the tonechange event.
{{InheritanceDiagram}}
In addition to the properties of {{domxref("Event")}}, this interface offers the following:
"") if the previous tone has finished playing.RTCDTMFToneChangeEvent. It takes two parameters, the first being a string representing the type of the event (always "tonechange"); the second a dictionary containing the initial state of the properties of the event.Supports the methods defined in {{domxref("Event")}}. There are no additional methods.
This snippet is derived loosely from the full, working example you'll find in the section on When a tone finishes playing. It appends each tone to a display box as it's played, and, once all tones have been sent, re-enabled a previously-disabled "Send" button, allowing the next DTMF string to be entered.
dtmfSender.addEventListener("change", (event) => {
if (event.tone !== "") {
dialStringBox.innerText += event.tone;
} else {
sendDTMFButton.disabled = false;
}
});
{{Specifications}}
{{Compat}}